java选择题

1.现有一变量声明为 boolean aa; 下面赋值语句中正确的是 ( )

A.aa=false;

B.aa=False;

C.aa="true";

D.aa=0;

正确答案:A

在Java中,boolean类型的变量可以被赋值为布尔值 true 或 false。因此,选项 A (aa = false;) 是正确的,它将变量 aa 设置为布尔值 false。

选项 B (aa = False;) 是错误的,因为Java是大小写敏感的,所以不存在 "False" 这样的布尔字面量。正确的写法应该是小写的 "false"。

选项 C (aa = "true";) 是错误的,因为字符串 "true" 不能直接赋值给 boolean 类型的变量。尽管字符串 "true" 在某些上下文中可以转换为布尔值 true,但在这里它是被当作字符串处理的。

选项 D (aa = 0;) 也是错误的,因为整数值 0 在布尔上下文中被视为 false,但这不是正确的赋值方式。如果你想将变量 aa 设置为布尔值 false,应该明确地使用 false 关键字,而不是数字 0。

单选题

2.

在委托事件模型中,源生成事件并把它发送给一个或多个监听器,每个监听器必须向事件源注册。

A.T

B.F

正确答案:A

在委托事件模型中,源确实生成事件并将其发送给一个或多个监听器,而且每个监听器必须向事件源注册才能接收事件。这种模式允许源和监听器之间解耦,使得系统更加灵活和可维护。

单选题

3.下列类定义代码,当用来声明对象car,并用Car car=new Car();实例化后,可以通过car对象直接赋值的字段是()

A.type,No

B.type,price

C.heavy,owner

D.type,owner,price

正确答案:B

单选题

4.假定Base b = new Derived(); 调用执行b.methodOne()后,输出结果是什么?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

public class Base

{

   public void methodOne()

   {

      System.out.print("A");

      methodTwo();

   }

   public void methodTwo()

   {

      System.out.print("B");

   }

}

public class Derived extends Base

{

   public void methodOne()

   {

      super.methodOne();

      System.out.print("C");

   }

   public void methodTwo()

   {

      super.methodTwo();

      System.out.print("D");

   }

}


 

A.ABDC

B.AB

C.ABCD

D.ABC

正确答案:A

当执行 b.methodOne(); 时,首先会调用 Derived 类中的 methodOne 方法。在 Derived 类的 methodOne 方法中,首先调用了超类 Base 的 methodOne 方法,这会导致先打印 "A",然后调用 Base 类的 methodTwo 方法,打印 "B"。接着,控制返回到 Derived 类的 methodOne 方法,继续执行,打印 "C"。因此,整个过程结束后,输出的结果是 "ABDC"。

多选题

5.

关于Java的一些概念,下面哪些描述是正确的:(    )

A.所有的Java异常和错误的基类都是java.lang.Exception, 包括java.lang.RuntimeException

B.通过try … catch … finally语句,finally中的语句部分无论发生什么异常都会得到执行

C.java中所有的数据都是对象

D.Java通过垃圾回收回收不再引用的变量,垃圾回收时对象的finallize方法一定会得到执行

E.Java是跨平台的语言,无论通过哪个版本的Java编写的程序都能在所有的Java运行平台中运行

F.Java通过synchronized进行访问的同步,synchronized作用非静态成员方法和静态成员方法上同步的目标是不同的

B. 通过 try ... catch ... finally 语句,finally 中的语句部分无论发生什么异常都会得到执行。这是 Java 异常处理机制的一部分,确保了在 try-catch 结构中,即使发生异常,finally 块中的代码仍然有机会执行,通常用于执行清理工作,如关闭文件流或数据库连接。

F. Java 通过 synchronized 进行访问的同步,synchronized 作用于非静态成员方法和静态成员方法上同步的目标是不同的。非静态成员方法的同步是针对实例的,而静态成员方法的同步是针对类的。这意味着非静态方法同步只影响同一个对象的多个线程,而静态方法同步则影响所有实例共享的资源。

A. 描述不完全正确。虽然 Exception 是所有异常的基类,RuntimeException 及其子类确实是异常的一种,但它们属于未检查异常(unchecked exceptions),这意味着编译器不会强制要求方法声明抛出这些异常,也不会在编译时检查方法调用是否处理了这些异常。

C. 描述不准确。在 Java 中,基本数据类型(如 int、double、char 等)不是对象,它们是原始数据类型。虽然它们可以通过自动装箱转换为相应的包装类对象(如 Integer、Double、Character),但这并不意味着所有数据都是对象。

D. 描述不正确。Java 通过垃圾回收器回收不再引用的对象,但是垃圾回收时机是不确定的,且并不保证 finalize 方法一定会被执行。因此,依赖 finalize 方法来释放资源是不可靠的做法。

E. 描述部分正确。Java 是跨平台的语言,Java 程序可以在支持 Java 虚拟机(JVM)的任何平台上运行。但是,这并不意味着所有版本的 Java 编写的程序都能在所有的 Java 运行平台上运行,因为不同版本的 JVM 可能有不同的特性和限制。

  • 20
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值