1、final等同于private,这句话是错误的。
private方法只可以在类的内部使用,在类外根本访问不到, 而final方法可以在类外访问,但是不可以重写该方法,就是说可以使用该方法的功能但是不可以改变其功能,这就是private方法和final方法的最大区别。
private说的是访问修饰符,是一个访问权限的问题,final说的是这个方法不能被重写。
2、下列属于容器的组件有()
A、JButton
B、JPanel
C、Thread
D、JTextArea
答案是B
有三种类型的容器:Window、Panel、ScrollPane,常用的有Panel, Frame, Apple
JPanel是Java图形用户界面(GUI)工具包中的面板容器类,包含在javax.swing包中,是一种轻量级容器,可以加入到JFrame窗体中。 JPanel默认的布局管理器是FlowLayout,其自身可以嵌套组合,在不同子容器中可包含其他组件(component),如JButton、JTextArea、JTextField 等,功能是对对窗体上的这些控件进行组合,相当于C++和C#中的Panel类。
3、Math.round(11.5) 等于多少 (). Math.round(-11.5) 等于多少 ( ).
A、11 ,-11
B、11 ,-12
C、12 ,-11
D、12 ,-12
答案是C
需要强调的是,Math.round的“四舍五入”和平常的“小于4不进位,大于4则进位”是不一样的.
参考
(1)负数
Math.round(-11.6) = -12
Math.round(-11.5) = -11
(2)正数
Math.round(11.5) = 12
Math.round(11.6) = 12
Math类中提供了三个与取整有关的方法:ceil,floor,round,这些方法的作用于它们的英文名称的含义相对应,例如:ceil的英文意义是天花板,该方法就表示向上取整,Math.ceil(11.3)的结果为12,Math.ceil(-11.6)的结果为-11;floor的英文是地板,该方法就表示向下取整,Math.floor(11.6)的结果是11,Math.floor(-11.4)的结果-12;最难掌握的是round方法,他表示“四舍五入”,算法为Math.floor(x+0.5),即将原来的数字加上0.5后再向下取整,所以,Math.round(11.5)的结果是12,Math.round(-11.5)的结果为-11.
4、instanceof运算符能够用来判断一个对象是否为:
A、一个类的实例
B、一个实现指定接口的类的实例
C、全部正确
D、一个子类的实例
答案是C
instance是java的二元运算符,用来判断他左边的对象是否为右面类(接口,抽象类,父类)的实例
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 29 30 31 32 33 34 35 36 37 |
|
程序输出:
ab instanceof A=true
ac instanceof A=true
bc instanceof A=true
bb instanceof A=true
cc instanceof A=true
ab instanceof B=true
ac instanceof B=true
bc instanceof B=true
bb instanceof B=true
cc instanceof B=true
ab instanceof C=false
ac instanceof C=true
bc instanceof C=true
bb instanceof C=false
cc instanceof C=true
5、假设 a 是一个由线程 1 和线程 2 共享的初始值为 0 的全局变量,则线程 1 和线程 2 同时执行下面的代码,最终 a 的结果不可能是()
boolean isOdd = false;
for(int i=1;i<=2;++i)
{
if(i%2==1)isOdd = true;
else isOdd = false;
a+=i*(isOdd?1:-1);
}
A、-1
B、-2
C、0
D、1
答案是D
易知:每个线程对a 均做了两次读写操作,分别是 “ +1 ” 和 “ -2 ”
而题目问了是最终a 的结果,所以 a 的结果取决于各自线程对 a 的先后读写的顺序
结论:a的可能取值为-1、0、-2
如图:
6、下面哪个行为被打断不会导致InterruptedException:( )?
A、Thread.join
B、Thread.sleep
C、Object.wait
D、CyclicBarrier.await
E、Thread.suspend
答案是E
抛InterruptedException的代表方法有:
-
java.lang.Object 类的 wait 方法
-
java.lang.Thread 类的 sleep 方法
-
java.lang.Thread 类的 join 方法