44、定义 int x=5;
执行 int y=x;
和 x=y;
,x 和 y 分别为( B )。
选项:
- A 5,6
- B 5,5
- C 5,4
- D 4,4
正确答案: B
解析
int y = x;
将 x 的值 (5) 赋值给 y,此时 x 为 5,y 为 5。x = y;
将 y 的值 (5) 赋值给 x,此时 x 仍然为 5,y 也还是 5。
45、下列内容描述错误的是( C )。
选项:
- A. 一个源文件中,可以定义多个类
- B. 一个源文件被编译之后,可能生成多个 .class 文件
- C. 一个源文件中,最多定义一个 main 函数
- D. 一个源文件中,最多可以定义一个公开类,而且此类名必须和源文件名完全一致
正确答案: C
解析
- 一个源文件中可以定义多个类 (A)。
- 每个类都会被编译成一个独立的 .class 文件 (B)。
- 一个源文件中可以有多个 main 函数,只要它们分别位于不同的类中 (C)。
- 一个源文件中最多只能定义一个公开类,并且这个公开类的类名必须与文件名一致 (D)。
46、以下 Java 语句在编译时不通过的是 (A)
选项:
- A. char c = "a";
- B. int i = -1;
- C. boolean b = false;
- D. double d = 10.0;
正确答案: A
解析
char 类型只能存放单个字符,而不是字符串,所以应该使用单引号 char c = 'a';
来表示单个字符。
47、在 Java 中,Scanner 类提供控制台获取键盘输入的功能,下列语句 ( B ) 能够正确实例化 Scanner 类的对象,用于获取键盘输入的数据。
选项:
- A. Scanner sc = new Scanner(System.out);
- B. Scanner sc = new Scanner(System.in);
- C. Scanner sc = new Scanner(System);
- D. Scanner sc = new Scanner();
正确答案: B
解析
Scanner 类用于获取键盘输入,它需要一个 InputStream 对象作为参数。System.in 代表标准输入流,它连接到键盘。因此,选项 B 是正确的,其他选项都使用了错误的参数。
48、分析如下所示的 JAVA 代码,编译运行后的输出结果是 (B)。
public static void main(String[] args) {
boolean b = true;
System.out.print(b);
if (b) {
System.out.print("真");
} else {
System.out.print("假");
}
}
选项:
- A. true
- B. true真
- C. 真
- D. 假
正确答案: B
解析
代码的输出结果是 "true真"。System.out.print(b) 会输出 true
,然后 if(b) 条件为 true,执行 System.out.print("真"),输出 "真"。
49、Override 的含义是( B )。
选项:
- A. 私有的
- B. 方法重写
- C. 方法覆盖
- D. 受保护的
正确答案: B
解析
Override 关键字用于标示子类方法重写父类方法,它表示子类的方法覆盖了父类的方法。
50、下列变量定义不正确的是 (B)
选项:
- A. byte a = -127;
- B. float f = 12.3;
- C. short s = 128;
- D. char c = 65;
正确答案: B
解析
float 类型必须在数字后面加 f
或 F
后缀,以区分 double 类型。因此,float f = 12.3;
应该写成 float f = 12.3f;
。
51、构造方法什么时候会被调用 ( B )
选项:
- A. 类定义时
- B. 创建对象时
- C. 调用对象成员方法时
- D. 使用对象的变量时
正确答案: B
解析
构造方法是在创建对象时被调用的,它的作用是初始化对象的属性。
52、 接口可以被继承吗?( A )。
选项:
- A. 可以
- B. 不可以
- C. 不能确定
- D. 以上答案均不正确
正确答案: A
解析
接口可以被继承,使用 extends 关键字。接口的继承用于扩展接口的功能,子接口会继承父接口的所有方法。
53、实现接口的关键字是( D )。
选项:
- A. extends
- B. final
- C. Interface
- D. implements
正确答案: D
解析
使用 implements
关键字来实现接口,表示类实现了接口中的所有方法。
54、下列的定义中,哪个是接口( D )。
选项:
- A. static void Func(){}
- B. virtual void Func(){}
- C. abstract class Func() {/* ... */}
- D. interface Func{}
正确答案: D
解析
使用 interface
关键字来定义接口,接口定义了方法,但没有方法体。
55、在类的声明中,可以通过使用关键字( A )来显式地指明其父类。
选项:
- A. extends
- B. implements
- C. import
- D. super
正确答案: A
解析
使用 extends
关键字来声明一个类的父类,表示该类继承了父类的属性和方法。
56、子类能够继承父类中被声明为的成员变量和成员方法( A )。
选项:
- A. public 和 protected
- B. public 和 private
- C. private 和 protected
- D. 以上都不对
正确答案: A
解析
子类可以继承父类中被声明为 public
和 protected
的成员变量和成员方法。private
的成员变量和成员方法不能被继承,只能在定义它们的类中访问。
57、关于 this 的描述正确的是 ( C )
选项:
- A. this 代表父类对象
- B. this. 只能应用在构造方法中
- C. this() 只能应用在构造方法中
- D. this. 只能放在方法的第一行语句
正确答案: C
解析this
代表当前对象本身,它可以用来访问当前对象的属性和方法。 this()
用于调用当前类的其他构造方法。this()
只能在构造方法中使用。
58、阅读以下代码,哪些代码写在 //1 处,程序编译能通过( A )
class Super {
int method() {
return 0;
}
}
class Sub extends Super {
// 1
}
选项:
- A. public int method() { return 0; }
- B. void method() {}
- C. void method(int n) {}
- D. protected void method() {}
正确答案: A
解析
在子类中重写父类的方法时,子类方法的访问权限不能低于父类方法的访问权限。父类 method
的访问权限是默认的(包访问权限),子类可以重写为 public
访问权限,因此选项 A 是正确的。
59、关于 Java 中的继承,以下说法正确的是( C )
选项:
- A. 一个子类可以有多个直接的父类,一个父类也可以有多个直接的子类
- B. 一个子类可以有多个直接的父类,但是一个父类只可以有一个直接的子类
- C. 一个子类只能有一个直接的父类,但是一个父类可以有多个直接的子类
- D. 以上说法都不对
正确答案: C
解析
Java 中的继承是单继承,即一个子类只能有一个直接的父类。但一个父类可以有多个直接的子类。
60、关于三个修饰符描述不正确的是( A )
选项:
- A. static 可以修饰所有的变量
- B. static 可以修饰方法
- C. final 可以修饰类
- D. abstract 可以修饰类、方法
正确答案: A
解析
static 可以修饰方法和变量,但不能修饰所有的变量,例如局部变量不能用 static
修饰。
61、关于 final 描述错误的是( B )
选项:
- A. final 修饰的变量是作用范围内常量,只允许一次赋值
- B. final 修饰的方法不能被继承
- C. final 修饰的方法不允许被覆盖
- D. final 修饰的类没有子类
正确答案: B
解析
final 修饰的变量只能被赋值一次 (A)。final 修饰的方法不能被重写 (C),这与继承无关,只是方法不可改写。final 修饰的类不能被继承 (D)。
62、下列哪一种叙述是正确的( C )
选项:
- A. 一个 Java 类只能实现一个接口
- B. 一个 Java 类不能同时继承一个类和实现接口
- C. 一个 Java 类可以同时实现多个接口
- D. 一个 Java 类 可以同时继承多个 直接的父类
正确答案: C
解析
一个 Java 类可以同时实现多个接口 (C)。Java 中支持多接口实现,使用 implements 关键字来实现多个接口。
63、下列描述错误的是( C )
选项:
- A. 类是对象的模板
- B. 对象是类的实例
- C. 基于一个类只能创建该类的一个对象
- D. 面向对象是 Java 语言的特点之一
正确答案: C
解析
类是对象的模板 (A),对象是类的实例 (B)。一个类可以创建多个对象 (C)。面向对象是 Java 语言的特点之一 (D)。
64、阅读以下代码,哪些代码写在 //1 处,程序编译不能通过( B )
class Super {
int method() {
return 0;
}
}
class Sub extends Super {
// 1
}
选项:
- A. public int method() { return 0; }
- B. void method() {}
- C. void method(int n) {}
- D. protected int method() { return 0; }
正确答案: B
解析
在子类中重写父类的方法时,方法名、参数列表和返回值类型必须与父类方法相同。选项 B 中方法名和返回值类型都与父类一致,但缺少参数列表,因此编译会报错。
65、在 JAVA 中,以下关于方法重载和方法重写描述正确的是( D )
选项:
- A. 方法重载和方法重写实现的功能相同
- B. 方法重载出现在父子关系中,方法重写是在同一类中
- C. 方法重载的返回类型必须一致,参数项必须不同
- D. 方法重写需要出现在满足继承关系的子类中
正确答案: D
解析
方法重载:发生在同一个类中,方法名相同,参数列表不同(参数类型或个数不同),与返回值类型无关。
方法重写:发生在子类中,子类方法重写父类方法,方法名、参数列表和返回值类型都必须相同。