Java基础总结——笔面题
1.抽象方法能否可以使用static修饰?原因是什么?
答案:不能,抽象方法需要被子类重写,而静态方法不能被重写。
2.int 和 Integer 有什么区别?下面俩个输出语句打印出的结果是什么?
int a = 1;
int b = 1;
println(a==b);
Integer c = 1;
Integer d = 1;
println(c==d);
答案:int是基本类型,用来表示整型数据,Integer是int对应的包装类型,可以指向对象。
输出结果:true true
(Integer内有缓存)
3.编写一个方法(addAll()),实现以下如何结果:
addAll(1,8); //结果:9
addAll(5,8,-7); // 结果:6
addAll(6,7,-1,-8) // 结果:4
答案:
public int addAll(int... a){
int sum = 0;
for(int i:a){
sum+=i;
}
return sum;
}
4.请阐述线程中run方法与start的关系
答案:run方法中是线程启动后真正要运行的代码,start方法的作用是用来启动线程,线程启动后会自动执行run方法。
5.说说下面语句是否有错误,并指出错在哪里
import java.util.List;
...
List list = new List();
答案:报错,List是接口,不能直接new对象。
6.有以下代码,请写出输出结果
int i = 1;
println(i++)