`
java-mans
  • 浏览: 11440207 次
文章分类
社区版块
存档分类
最新评论

JavaSE易错题集

 
阅读更多

1. 成员变量有默认值,但如果有final来修饰的成员变量则没有默认值,你必须显式给定一下值。

2.局部变量前不能放置任何访问修饰符 (private,public,和protected)。final可以用来修饰局部变量

3.static method不能直接call non-static methods,同理,static method不能访问non-static instant variable。

4.任何在interface里声明的interface variable (接口变量,也可称成员变量),默认为public static final。

5.重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。

6.sleep()和wait()有什么区别?sleep()来自Thread类,wait()来自Object类。sleep()方法没有释放锁,而wait()方法释放了锁,使得其他线程可以使用同步控制块或者方法。sleep()必须捕获异常,而wait(),notify和notifyAll不需要捕获异常。

7.接口可以继承接口。抽象类可以实现(implements)接口

8.启动一个线程是调用start()方法,使线程所代表的虚拟处理机处于可运行状态,这意味着它可以由JVM调度并执行。这并不意味着线程就会立即运行。run()方法可以产生必须退出的标志来停止一个线程。

9.构造器Constructor不能被继承,因此不能重写Overriding,但可以被重载Overloading。

10.try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会被执行,在return前执行。

11.请记住序列化机制只保存对象的类型信息,属性的类型信息和属性值,和方法没有什么关系,你就是给这个类增加10000个方法,序列化内容也不会增加任何东西,不要想当然的臆测自己不了解的知识,动手去做!

12.HashSet 底层采用 HashMap 来保存所有元素

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics