场景:
错题
错题1描述:
关于protected 修饰的成员变量,以下说法正确的是
A.可以被该类自身、与它在同一个包中的其它类、
在其它包中的该类的子类所访问
B.只能被该类本身和该类的所有的子类访问
C.只能被该类自身所访问
D.只能被同一个包中的类访问
原因分析:
答案:A
错题2描述:
以下程序会输出什么
int a =100,b=50,c=a---b,d=a---b;
System.out.println(a);
System.out.println(b);
System.out.println(c);
System.out.println(d);
选项
A.100 48 48 49
B.100 49 48 52
C.98 50 50 49
D.98 50 50 48
原因分析:
++、–的优先级为2
+、-的优先级为4
自增比自减的高级,所以肯定是(a–)-b
答案:C
错题3描述:
Math.floor(-8.5)=( )
A.(float)-8.0
B.(long)-9
C.(long)-8
D.(double)-9.0
原因分析:
Math.floor() 表示向下取整,返回double类型 (floor—地板)
Math.ceil() 表示向上取整,返回double类型 (ceil—天花板)
Math.round() 四舍五入,返回int类型
答案:D
错题4描述:
关于Java语言描述正确的是? ( )
A.java和C++都保留了指针
B.java和C++都有三个特征:封装、继承和多态
C.java的垃圾回收机制是指程序结束时系统自动回收内存
D.以上说法都不正确
原因分析:
A,Java没有指针,只有引用。
C,并不是程序结束的时候进行GC,GC的时间是不确定的,且GC的过程需要经过可达性分析,一个对象只有被标记两次才会被GC。
下图是一个对象被GC的全过程。
答案:B
错题5描述:
抽象类方法的访问权限默认都是public。( )
A.正确
B.错误
原因分析:
关于抽象类
JDK 1.8以前,抽象类的方法默认访问权限为protected
JDK 1.8时,抽象类的方法默认访问权限变为default
关于接口
JDK 1.8以前,接口中的方法必须是public的
JDK 1.8时,接口中的方法可以是public的,也可以是default的
JDK 1.9时,接口中的方法可以是private的
答案:B