11、以下哪些方法是Object类中的方法
A. clone()
B. toString()
C. wait()
D. finalize()
答案: ABCD
解析:
Object 类中方法及说明如下:
- registerNatives() //私有方法
- getClass() //返回此 Object 的运行类。
- hashCode() //用于获取对象的哈希值。
- equals(Object obj) //用于确认两个对象是否“相同”。
- clone() //创建并返回此对象的一个副本。
- toString() //返回该对象的字符串表示。
- notify() //唤醒在此对象监视器上等待的单个线程。
- notifyAll() //唤醒在此对象监视器上等待的所有线程。
- wait(long timeout) //在其他线程调用此对象的 notify() 方法或 notifyAll() 方法,或 者超过指定的时间量前,导致当前线程等待。
- wait(long timeout, int nanos) //在其他线程调用此对象的notify() 方法或 notifyAll() 方法,或者其他某个线程中断当前线程,或者已超过某个实际时间量前,导致当前线程等待。
- wait() //用于让当前线程失去操作权限,当前线程进入等待序列
- finalize() //当垃圾回收器确定不存在对该对象的更多引用时,由对象的垃圾回收器调用此方法。
12、下面程序的运行结果:( )
public static void main(String args[]) {
Thread t = new Thread(){
public void run(){
dianping();
}
};
t.run();
System.out.print("dazhong");
}
static void dianping(){
System.out.print("dianping");
}
A. dazhongdianping
B. dianpingdazhong
C. a和b都有可能
D. dianping循环输出,dazhong夹杂在中间
答案: B
解析:
如果调用 run(),选 B;如果调用start(), 选 C。
因为在上面 main() 方法中,并没有创建一个新的线程,仅仅是调用了 run() 方法,程序就只能顺序执行;开启线程是调用 start() 方法,这样才能并发执行。
13、以下代码的输出结果是?
public class B{
public static B t1 = new B();
public static B t2 = new B();
{
System.out.println("构造块");
}
static
{
System.out.println("静态块");
}
public static void main(String[] args)
{
B t = new B();
}
}
A. 静态块 构造块 构造块 构造块
B. 构造块 静态块 构造块 构造块
C. 构造块 构造块 静态块 构造块
D. 构造块 构造块 构造块 静态块
答案: C
解析:
程序入口 main 方法要执行首先要加载类 ,而加载类时首先加载的是静态域而不是静态块。加载完毕后,使用 new 创建对象时,才依次执行构造块和构造方法。
注意两点:
- 静态域:分为静态变量、静态方法、静态块。其中需要初始化的是静态变量和静态块,而它们两个的初始化顺序是根据它们的位置决定的,并且静态域只加载一次(意思是说,有多个静态变量或者静态块的时候,类加载时只加载最前面的那个,剩下的顺序执行)。
- 每次 new 对象时,会执行一次构造块和构造方法,并且构造块在构造方法前执行。
上面的代码中,有两个静态变量和一个静态块,加载类时先初始化第一个静态变量:static B t1 = new B(),这里 new 类对象要调用构造块和构造方法,这时候类已经加载完毕,所以 new 的时候就不会再去初始化其它静态成员了。static B t2 = new B() 和静态块依次执行。初始化完毕,执行 main() 方法。
14、以下代码输出结果为():
String str = "";
System.out.print(str.split(",").length);
A. 0
B. 1
C. 出现异常
答案: B
解析:
(1)第一点,上面代码中调用的是 length,而不是 length()。因为 split() 方法返回的是一个字符串数组,所以上述代码打印的是拆分之后得到的数组的长度;
(2)因为原字符串不包含分隔符,所以直接返回原字符串,分割出来只有一个空的字符串数组,所以结果是1。(注意:虽然原字符串为空,存到字符串数组为空,但是这个空也会算一个元素)