(此系列试题来源于Java面试宝典书籍)
一、选择题
1. 下列说法正确的是
- A. class 中的 constructor 不可忽略
- B. constructor 可以作为普通方法被调用
- C. constructor 在一个对象被 new 时被调用
- 一个 class 只能定义一个 constructor
2. 下面正确的是
- constructor 必须与 class 同名,但是方法不能与 class 同名
- constructor 可以被继承,因此可以重写 Overriding,也可以被重载 Overloading
- String 类是 final 类 故不可以被继承
- 数组的大小可以任意改变,又称动态数组
- try{}里有一个 return 语句,则紧跟在 try 后面的 finally{}里的 code 将在 return 后执行
解析:
1) constructor 必须与 class 同名,但是方法不能与 class 同名-----错 可以同名,区别是构造器没有返回值
2) constructor 无法被继承,因此不可以重写 Overriding,但可以重载 Overloading
3) 数组的大小不可以任意改变,即数组确定就大小确定,动态数组是通过删除原来数组新建数组来实现动态的
4)
/**
* try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,还是在return之后执行?
* @author Hongten
* @date 2013-12-10
*/
public class TestC {
public static void main(String[] args) {
System.out.println("结果: " + new TestC().test());
}
static int test(){
int i = 1;
try {
System.out.println("try里面的i : " + i);
return i;
}finally{
System.out.println("进入finally...");
++i;
System.out.println("fianlly里面的i : " + i);
}
}
}
// result:
// try里面的i : 1
// 进入finally...
// fianlly里面的i : 2
// 结果: 1
二、简答题
1. 抽象类和接口
2. sleep和wait
- 这两个方法来自不同