java常见面试题2015(持续更新中。。。)
1、overwrite和overload的区别
Overload是重载,它用与现有成员相同的名称来声明属性或方法,但参数列表与原始成员不同。 Override 主要用于父类和子类之间的方法重写,即指定属性或方法可以在派生类中重写,其参数列表要求相同。
2、类和对象区别
好像挺喜欢问,举个例子,类表示电脑,他的的基本属性包括cpu、存储器、输入输出设备 ;而对象表示某种类型电脑,如戴尔、联想、惠普、苹果电脑。类是共性,抽象的;对象是具体的某事物。
3、HashMap和HashTable区别
1)hashMap继承父类AbstractMap,HashTable继承父类Dictionary
- public class Hashtable
- extends Dictionary
- implements Map, Cloneable, java.io.Serializable
然而HashMap是
- public class HashMap
- extends AbstractMap
- implements Map, Cloneable, Serializable
2)hashMap key/value都可以为空,因此线程不安全,key必须唯一,value可以不唯一;HashTable key/value都不允许为空,因此线程是安全的。
3)hashMap 是不同步的,而hashTable是同步的,多个线程访问hashTable时不需要手动同步,而hashMap需要就必须为之提供外同步(Collections.synchronizedMap)
4)Hashtable和HashMap采用的hash/rehash算法都大概一样,所以性能不会有很大的差异。
4、private default protected public 作用域
位置 private 默认 protected public
同一个类 是 是 是 是
同一个包内的类 否 是 是 是
不同包内的子类 否 否 是 是
不同包并且不是子类 否 否 否 是
待续中。。。。。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。