Java Quiz(二)
我准备发一些Java的小Quiz,这些题目看似比较简单,但如果一不小心,就会得出错误的结论,大家小心咯。
如果你有什么意见或者建议,请留言或者加我的QQ:472429029,验证信息写Java,javaeye什么的都行。
1.下面代码会编译成功吗?如果会,那么运行结果是?
/**
* created on 2009-4-14
* Author softkid
*/
package cn.softkid;
public class AQuestion {
private int i = giveMeJ();//(1)
private int j = 10;//(2)
private int giveMeJ(){
return j;
}
//
public static void main(String args[]){
System.out.println((new AQuestion()).i);
}
语句(1)和(2)的顺序调换之后呢?
2.下面的代码的运行结果是?
/**
* created on 2009-4-14
* Author softkid
*/
package cn.softkid;
public class AQuestion {
public void method(Object o){
System.out.println("Object Verion");
}
public void method(String s){
System.out.println("String Version");
}
public static void main(String[] args) {
AQuestion question = new AQuestion();
question.method(null);
}
}
这道题目为什么是那样的结果,我还不知道,希望谁能够解释一下。
3.再看下面的代码,你有什么样的结论呢?
/**
* created on 2009-4-14
* Author softkid
*/
package cn.softkid;
public class AQuestion {
public void method(String s){
System.out.println("String Version");
}
public void method(StringBuffer sb){
System.out.println("StringBuffer Verion");
}
public static void main(String args[]){
AQuestion question = new AQuestion();
question.method(null);
}
}
4.再来一个关于String类的,运行下面代码的结果是?
/**
* created on 2009-4-14
* Author softkid
*/
package cn.softkid;
public class StringEquality {
public static void main(String[] args)
{
if("String".toString() == "String")
System.out.println("Equal");
else
System.out.println("Not Equal");
if("String".trim() == "String")
System.out.println("Equal");
else
System.out.println("Not Equal");
if("String".trim() == "String".trim())
System.out.println("Equal");
else
System.out.println("Not Equal");
if( "STRING".toUpperCase() == "STRING")
System.out.println("Equal");
else
System.out.println("Not Equal");
}
}
这一次也就来这么点吧!下次再继续。
1 楼
shaobin0604
2009-05-24
第一题
-----
0
改变(1)和(2)顺序后 10
第二题
-----
String Version
见《Java Puzzlers》迷题46
第三题
-----
编译错
编译器不能决定该调用哪一个重载方法
第四题
-----
Equal
Equal
Equal
Equal
2 楼
softkid
2009-05-24
shaobin0604 写道
第一题
-----
0
改变(1)和(2)顺序后 10
第二题
-----
String Version
见《Java Puzzlers》迷题46
第三题
-----
编译错
编译器不能决定该调用哪一个重载方法
第四题
-----
Equal
Equal
Equal
Equal
all 正解