文档详情

java面试笔试题大汇总(3).docx

发布:2025-04-13约5.67千字共16页下载文档
文本预览下载声明

java面试笔试题大汇总(3)

一、选择题

1.以下关于Java中`String`类的说法,正确的是()

A.`String`类是不可变类,一旦创建,其值不能被改变

B.`String`类的对象可以使用`new`关键字创建,也可以直接使用双引号创建

C.对`String`对象进行拼接操作会创建新的`String`对象

D.以上说法都正确

答案:D

解析:

A选项:`String`类是不可变类,当创建一个`String`对象后,其内部的字符序列不能被改变。例如`Stringstr=abc;`,之后对`str`进行重新赋值或者拼接等操作,实际上是创建了新的`String`对象,而原对象的内容并未改变。

B选项:可以使用`new`关键字创建`String`对象,如`Strings1=newString(hello);`,也可以直接使用双引号创建,如`Strings2=world;`。

C选项:当对`String`对象进行拼接操作时,会创建新的`String`对象。例如`Strings3=abc;Strings4=s3+def;`,这里的`s4`是一个新的`String`对象。

2.以下代码的输出结果是()

```java

publicclassMain{

publicstaticvoidmain(String[]args){

int[]arr={1,2,3,4,5};

System.out.println(arr[5]);

}

}

```

A.5

B.编译错误

C.运行时抛出`ArrayIndexOutOfBoundsException`异常

D.以上都不对

答案:C

解析:在Java中,数组的索引是从0开始的。对于长度为5的数组`arr`,其有效索引范围是0到4。代码中`arr[5]`试图访问数组中索引为5的元素,超出了数组的有效索引范围,因此会在运行时抛出`ArrayIndexOutOfBoundsException`异常。

3.以下关于Java中`static`关键字的说法,错误的是()

A.`static`修饰的变量属于类,而不属于类的实例

B.`static`修饰的方法可以通过类名直接调用,也可以通过对象实例调用

C.`static`修饰的代码块会在类加载时执行,且只执行一次

D.`static`方法中可以使用`this`关键字

答案:D

解析:

A选项:`static`修饰的变量是类变量,它被类的所有实例共享,不属于某个具体的实例。例如`classMyClass{staticintnum=10;}`,`num`是类变量。

B选项:`static`修饰的方法可以通过类名直接调用,如`MyClass.staticMethod();`,也可以通过对象实例调用,不过不推荐后者,因为它会让人误解该方法与对象实例有关。

C选项:`static`代码块会在类加载时执行,且只执行一次。例如:

```java

classMyClass{

static{

System.out.println(Staticblockexecuted);

}

}

```

D选项:`this`关键字代表当前对象实例,而`static`方法属于类,不依赖于对象实例,因此在`static`方法中不能使用`this`关键字。

二、填空题

1.Java中用于创建线程的两种方式是继承`______`类和实现`______`接口。

答案:`Thread`;`Runnable`

解析:

继承`Thread`类:创建一个类继承`Thread`类,重写`run()`方法,然后创建该类的对象并调用`start()`方法启动线程。例如:

```java

classMyThreadextendsThread{

@Override

publicvoidrun(){

System.out.println(Threadisrunning);

}

}

//使用

MyThreadthread=newMyThread();

thread.start();

```

实现`Runnable`接口:创建一个类实现`Runnable`接口,实现`run()`方法,然后将该类的对象作为参

显示全部
相似文档