1. 下面有关java object默认的基本方法,说法错误的是?
-
A equals(Object obj) 指示某个其他对象是否与此对象“相等”
-
B copy() 创建并返回此对象的一个副本
-
C wait() 导致当前的线程等待,直到其他线程调用此对象的 notify() 方法或 notifyAll() 方法
-
D toString() 返回一个字符串,该字符串由类名(对象是该类的一个实例)、at 标记符“@”和此对象哈希码的无符号十六进制表示组成
正确答案:B
考点:Java Object类中有哪些对象
题解:
B选项,Object类 并不包含copy() 方法,题目中描述的应该是clone()方法,copy()方法属于java.io.file.Files 类,其作用是将字节从文件复制到I / O流或从I / O 流复制到文件。
2. 根据以下代码段,下列说法中正确的是( )。
public class Parent {
private void m1(){}
void m2(){}
protected void m3(){}
public static void m4(){}
}
-
A 子类中一定能够继承和覆盖Parent类的m1方法
-
B 子类中一定能够继承和覆盖Parent类的m2方法
-
C 子类中一定能够继承和覆盖Parent类的m3方法
-
D 子类中一定能够继承和覆盖Parent类的m4方法
正确答案:C
考点:权限修饰符的访问范围
题解:
A 私有方法不可继承和覆盖,只可以是在子类中有新的方法
B 默认修饰符的方法,子父类一旦不在一个包,就不能覆盖了。
D 注意:重写针对的都是可见的实例方法,对于私有方法和静态方法都不能重写。
3. 以下哪一个不是赋值符号?
-
A +=
-
B <<=
-
C <<<=
-
D >>>=
正确答案:C
考点:移位运算符
题解:
在Java中有 左移(<<) ,有符号的右移(>>),无符号的右移(>>>)。
左移(<<) 能按照操作符右侧所指定的位数将操作数的二进制位向左移动(低位补0)。
有符号的右移(>>) 能按照操作符右侧所指定的位数将操作数的二进制位向右移动,其中最高位填充规则为:若原数为负,最高位补1;若原数为正,最高位补0.
无符号的右移(>>>):能按照操作数右侧所指定的位数将操作数的二进制位向右移动,不管其原数正负,最高统一补0。(这就意味着负数会变成正数)。
为什么左移没有无符号,有符号的分法呢?
原因:左移是向左移动,只涉及最低位的取值,而最低位取值无论是有符号或者无符号都是补0,所以Java中不存在<<< 运算符!
4. 关于final说法正确的是? ( )
-
A final类的方法肯定不能被同一个包的类访问
-
B final类的方法能否被同一个包的类访问不是由final决定
-
C final方法等同于private方法
-
D final对象本身的引用和值都不能改变
正确答案:B
考点:final
题解:
final 变量
final变量能被显示地初始化并且只能初始化一次。被声明为final的对象的引用不能指向不同的对象。但是final对象里的数据可以被改变。也就是说 final 对象的引用不能改变,但是里面的值可以改变。
final 修饰符通常和static修饰符一起使用来创建类常量。
final方法
类中的final 方法可以被子类继承,但是不能被子类修改。
声明final方法的主要目的是防止该方法的内容被修改。
final类
final 类不能被继承,没有类能够继承final 类的任何特性。
5. What is Static Method in Java()
-
A It is a method which belongs to the class and not to the object(instance)
-
B A static method can access only static data. It can not access non-static data (instance variables)
-
C A static method can call only other static methods and can not call a non-static method from it.
-
D A static method can not be accessed directly by the class name and doesn’t need any object
正确答案:A B C
考点:静态方法的性质
题解:
A:静态方法是一个属于类而不属于对象(实例)的方法。(√)
B:静态方法只能访问静态数据。无法访问非静态数据(实例变量)。(√)
C:静态方法只能调用其他静态方法,不能从中调用非静态方法。(√)
D:静态方法不能通过类名直接访问,也不需要任何对象。(×) 静态方法可以直接用类名访问。