1.Java如何实现多态,实现的主要方法。
java是借助方法的重写和重载实现多态。
重载的特性,方法名相同.返回类型,传入方法的参数不同(包括个数和类型).
重写的特性,方法名相同,返回类型,参数均相同,必须发生在子类.
2.Hashtablehashmap有什么区别,hashmap实现的算法思想,多个任意长度
的值进行hash操作,得出的hash值是否相等?
a.Hashtable是继承自陈旧的Dictionary类的,HashMap继承自AbstractMap类同时
是Java 1.2引进的Map接口的一个实现。
b.也许最重要的不同是Hashtable的方法是同步的,而HashMap的方法不是。
c.第三点不同是,只有HashMap可以让你将空值作为一个表的条目的key或value。
HashMap中只有一条记录可以是一个空的key,但任意数量的条目可以是空的value。这就是说,如果在表中没有发现搜索键,或者如果发现了搜索键,但它是一个空的值,那么get()将返回null。如果有必要,用containKey()方法来区别这两种情况。
d.HashMap去掉了Hashtable的contains方法,保留了containsValue和containsKey
方法
e.Hashtable中hash数组默认大小是11,增加的方式是old*2+1。HashMap中hash
数组的默认大小是16,而且一定是2的指数
2.既然是线性数组,为什么能随机存取?这里HashMap用了一个小算法,大致是这样实现:Java代码
3.画出语句string str=new string(“abc”)执行后的内存状态,说明string、