java常见面试题2015(持续更新中。。。)

1、overwrite和overload的区别

Overload是重载,它用与现有成员相同的名称来声明属性或方法,但参数列表与原始成员不同。
Override 主要用于父类和子类之间的方法重写,即指定属性或方法可以在派生类中重写,其参数列表要求相同
2、类和对象区别  
 好像挺喜欢问,举个例子,类表示电脑,他的的基本属性包括cpu、存储器、输入输出设备 ;而对象表示某种类型电脑,如戴尔、联想、惠普、苹果电脑。类是共性,抽象的;对象是具体的某事物。
3、HashMap和HashTable区别
1)hashMap继承父类AbstractMap,HashTable继承父类Dictionary
  1. public class Hashtable  
  2.     extends Dictionary  
  3.     implements Map, Cloneable, java.io.Serializable  
然而HashMap是
  1. public class HashMap  
  2.     extends AbstractMap  
  3.     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 
同一个类                           是        是           是       是 
同一个包内的类                 否        是           是       是 
不同包内的子类                 否        否           是       是 
不同包并且不是子类          否        否           否       是 
待续中。。。。。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。