8.java多线程有几种实现方法,都是什么?同步有几种实现方法,都是什么;(Core Java)
答:多线程有两种实现方法,分别是继承Thread类与实现Runnable接口;
同步的实现方面有两种,分别是synchronized,wait与notify
9.Arraylist与Vector区别;(Core Java)
答:就ArrayList与Vector主要从二方面来说:
1. 同步性:Vector是线程安全的,也就是说是同步的,而ArrayList是线程序不安全的,不是同步的
2. 数据增长:当需要增长时,Vector默认增长为原来一培,而ArrayList却是原来的一半
10.HashMap Hashtable 区别;(Core Java)
答:都属于Map接口的类,实现了将惟一键映射到特定的值上,区别主要有:
1. 历史原因:Hashtable是继承于陈旧的Dictionary类的,HashMap是Java 1.2引进的Map接口的一个实现;
2. 同步性:Hashtable是线程安全的,也就是说是同步的,而HashMap是线程序不安全的,不是同步的;
3. 值:只有HashMap可以让你将空值作为一个表的条目的key或value;
4. HashMap把Hashtable的contains方法去掉了,改成containsvalue和containsKey;因为contains方法容易让人引起误解。
11.Collction和Collections的区别;(Core Java)
答:Collections是个java.util下的类,它包含有各种有关集合操作的静态方法;
Collection是个java.util下的接口,它是各种集合结构的父接口。
12.面向对象的特征有哪些方面;(Core Java)
答:封装、继承、多态:
1)封装:指把一个类的内部实现隐藏起来,对外提供公开一致的接口,从而具有更好的可维护性;
2)继承:使一个类自动获得另一个类的方法和属性;
3)多态:指子类可以当作父类用。
13.Overload和Override的区别;Overloaded的方法是否可改变返回值类型;(Core Java)
答:方法的覆盖Overriding和重载Overloading是Java多态性的不同表现。覆盖Overriding是父类与子类之间多态性的一种表现(又称为运行时多态),重载Overloading是一个类中多态性的一种表现(也称为编译时多态)。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被覆盖(Overriding),子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被“屏蔽”了。如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)。
Overloaded的方法是可以改变返回值的类型。