题目:

①作用域public,private,protected,以及不写时的区别。


②ArrayList和Vector的区别,HashMap和Hashtable的区别 。


③char型变量中能不能存贮一个中文汉字?为什么?


④多线程有几种实现方法,都是什么?同步有几种实现方法,都是什么?


⑤float型float f=3.4是否正确?


⑥STRING与STRINGBUFFER的区别。


答案:

作用域 当前类 同一package 子孙类 其他package
public
protected ×
friendly × ×
private × × ×

不写时默认为friendly


②就ArrayList与Vector主要从二方面来说.
一.同步性:Vector是线程安全的,也就是说是同步的,而ArrayList是线程序不安全的,不是同步的
二.数据增长:当需要增长时,Vector默认增长为原来一培,而ArrayList却是原来的一半
就HashMap与HashTable主要从三方面来说。
一.历史原因:Hashtable是基于陈旧的Dictionary类的,HashMap是Java 1.2引进的Map接口的一个实现
二.同步性:Hashtable是线程安全的,也就是说是同步的,而HashMap是线程序不安全的,不是同步的
三.值:只有HashMap可以让你将空值作为一个表的条目的key或value


③是能够定义成为一个中文的,因为java中以unicode编码,一个char占16个字节,所以放一个中文是没问题的 。


④多线程有两种实现方法,分别是继承Thread类与实现Runnable接口 。
同步的实现方面有两种,分别是synchronized,wait与notify。


⑤不正确。精度不准确,应该用强制类型转换,如下所示:float f=(float)3.4 。


⑥STRING的长度是不可变的,STRINGBUFFER的长度是可变的。
如果你对字符串中的内容经常进行操作,特别是内容要修改时,那么使用StringBuffer,如果最后需要String,那么使用StringBuffer的toString()方法




联系我们 | 友情链接