几道常见的面试题(Core Java)

来源:互联网 发布:网站源码在线克隆 编辑:程序博客网 时间:2024/05/05 08:43

 

 

8.java多线程有几种实现方法,都是什么?同步有几种实现方法,都是什么;(CoreJava)

答:多线程有两种实现方法,分别是继承Thread类与实现Runnable接口;

同步的实现方面有两种,分别是synchronized,waitnotify

 

9.ArraylistVector区别;(CoreJava)

答:就ArrayListVector主要从二方面来说:

1. 同步性:Vector是线程安全的,也就是说是同步的,而ArrayList是线程序不安全的,不是同步的

2. 数据增长:当需要增长时,Vector默认增长为原来一培,而ArrayList却是原来的一半

 

10.HashMap Hashtable 区别;(Core Java)

答:都属于Map接口的类,实现了将惟一键映射到特定的值上,区别主要有:

1. 历史原因:Hashtable是继承于陈旧的Dictionary类的,HashMapJava 1.2引进的Map接口的一个实现;

2. 同步性:Hashtable是线程安全的,也就是说是同步的,而HashMap是线程序不安全的,不是同步的;

3. 值:只有HashMap可以让你将空值作为一个表的条目的keyvalue

4. HashMapHashtablecontains方法去掉了,改成containsvaluecontainsKey;因为contains方法容易让人引起误解。

 

11.CollctionCollections的区别;(CoreJava)

答:Collections是个java.util下的类,它包含有各种有关集合操作的静态方法;

Collection是个java.util下的接口,它是各种集合结构的父接口。

12.面向对象的特征有哪些方面;(CoreJava)

答:封装、继承、多态:

1)封装:指把一个类的内部实现隐藏起来,对外提供公开一致的接口,从而具有更好的可维护性;

2)继承:使一个类自动获得另一个类的方法和属性;

3)多态:指子类可以当作父类用。

13.OverloadOverride的区别;Overloaded的方法是否可改变返回值类型;(CoreJava)

答:方法的覆盖Overriding和重载OverloadingJava多态性的不同表现。覆盖Overriding是父类与子类之间多态性的一种表现(又称为运行时多态),重载Overloading是一个类中多态性的一种表现(也称为编译时多态)。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被覆盖(Overriding),子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被“屏蔽”了。如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)

Overloaded的方法是可以改变返回值的类型。

 

 

原创粉丝点击