面试集锦二

9.
Collection是集合类的上级接口,继承与他的接口主要有 Set  和List.
Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排
序、线程安全化等操作

10.
short s1 = 1; s1 = s1 + 1; (s1+1运算结果是int型,需要强制转换类型,所以会出现转换时

精度丢失错误)short s1 = 1; s1 += 1;(可以正确编译,因为+=是特殊java运算符,不会自动

进行数据的提示,而是按照同一类型进行的转换。)

11.
数组没有length()这个方法,有 length的属性。String有有 length()这个方法

12.
方法的重写 Overriding 和重载 Overloading 是 Java 多态性的不同表现。重写 Overriding
是父类与子类之间多态性的一种表现,重载 Overloading 是一个类中多态性的一种表现。如果

在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写  (Overriding)。子类

的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被"屏蔽"
了。如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,
则称为方法的重载(Overloading)。Overloaded的方法是可以改变返回值的类型

13.
error  表示恢复不是不可能但很困难的情况下的一种严重问题。比如说内存溢出。不可
能指望程序能处理这样的情况
exception  表示一种设计或实现问题。也就是说,它表示如果程序运行正常,从不会发生的
情况

14.
一个类拥有静态的成员变量并且在成员变量处实例化,也即是单例的饿模式。因为jvm在装载类的时候是原子性的,因此能保证成员变量被实例化,后期被线程访问时直接return即可,无需同步,性能较好。

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

16.
谈谈final, finally, finalize 的区别
答:final—修饰符(关键字)如果一个类被声明为 final,意味着它不能再派生出新的子类,
不能作为父类被继承。因此一个类不能既被声明为  abstract 的,又被声明为 final 的。将变

量或方法声明为 final,可以保证它们在使用中不被改变。
被声明为 final 的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。被
声明为final的方法也同样只能使用,不能重载
finally—再异常处理时提供  finally  块来执行任何清除操作。如果抛出一个异常,那么相匹

配的catch  子句就会执行,然后控制就会进入  finally  块(如果有的话)
finalize—方法名。Java  技术允许使用  finalize()  方法在垃圾收集器将对象从内存中清除

出去

猜你喜欢

转载自zengshaotao.iteye.com/blog/1816914