Java面试中的笔试及解析
选择
1、下面哪些是Thread类的方法?()
A、start() B、run() C、exit() D、getPriority()
2、下面关于Java.lang.Exception类的说法正确的是()
A、继承自Throwable
B、继承自Serialable
C、D、
3、下面程序的运行结果是()
String str1="hello";
String str2="he"+new String("llo");
System.err.println(str1==str2);
4、下列说法正确的是()
A、class中的constructor不可省略
B、constructor必须与class同名,但是方法不能与class同名
C、constructor在一个对象被new时执行
D、一个class只能定义一个constructor
5、【知识点】
String[]a=new String[10];
//a[0]~a[9]=null a.length=10
int[]a=new int[10];
//a[0]~a[9]=0 a.length=10
6、下面程序的运行结果是()
public static void main(String args[])
{
Thread t=new Thread(){
public void run(){
pong();
}
}
t.run();
System.out.println("ping");
}
A、pingpong B、pongping C、A与B都有可能 D、不输出
解析
1、ABD:exit()是System类的方法:System.exit(0);
2、A:Java异常的基类为Java.lang.Throwable、Java.lang.Erro和Java.lang.Exception,继承Throwable.RuntimeException和其他的Exception等等,具体的RuntimeException继承RuntimeException
3、false:因为str2中的“llo”是新申请的内存块,而“==”判断的是对象的地址而非值,所以不一样。如果是String str2=str1,则true
4、C:普通的类方法是可以和类名同名的,构造方法没有返回值
6、B:知识点:Thread类中start()与run()方法的区别:
start()方法用来启动一个线程,调用start()方法执行任务,而单独调用的run方法跟调用普通的方法无二