Java常见面试题
1、分析下列Java代码:
class A{
public static void main(String[] args){
method();
}
static void method(){
try{
Systemoutprintln(“Hello”);
Systemexit(0);
}finally{
Systemoutprintln(“good-bye”);
}
}
}
编译运行后,输出的结果是:()
a) “Hello”
b) “good-bye”
c) “Hello”后面是”good-bye”
d) 代码不能通过编译
解析:当且仅当JVM推出时不会执行finally{}里的语句。若把Systemexit(0)改为:return ;这时将会执行finally{}里的语句后再结束main()。;
2、 int index = 1;
String[] test = new String[3];
String foo = test[index];
foo结果是什么?
A、 foo有一个值“”
B、 foo有一个值null
C、 抛出一个异常
D、 代码不会编译
解析:在创建数组时,只是对其分配了空间,并没对它进行初始化。因此里面元素的值都是null值。
3、以下代码执行结果是
public class A{
String s=”123”;
Public void method(String s){
Systemoutprintln(s);
Systemoutprintln(thiss);
}
public static void main(String[] args){
A a = new A();
amethod(“abc”);
}
}
A、 abc 123
B、 123 abc
C、 abc abc
D、 123 123
解析:在程序执行时,将首先检查是否有局部变量,若有将直接调用它的值,否则将会检测全局变量。若还没,这样的程序将不会通过编译。
4、public class ConstOver{
public ConstOver(int x,int y,int z){}
}
说出哪个重载了ConstOver构造器?
A、ConstOver(){}
B、protected int ConstOver(){}
C、private ConstOver(int z,int y,byte z){}
D、public void ConstOver(byte x,byte y,byte z){}
E、public Object ConstOver(int x,int y,int z){}
解析:这个题要求我们掌握构造方法的形式,及重载的实质。
构造方法:方法名与类名相同,无返回类型。
重载:在一个类中,方法名相同,参数列表不同。
5、
1、public class X{
2、 pulbic Object m(){
3、 Object o = “Str”;
4、 Object b = new Object;
5、 Object[] oa = new Object[1];
6、 oa[0] = o;
7、 oa = b;
8、 o = b;
9、 Systemoutprintln(oa[0]);
10、
Java常见面试题 来自淘豆网m.daumloan.com转载请标明出处.