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 |
|
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 可能有不同的特性和限制。
更多推荐
所有评论(0)