2018年网易Java笔试题
- OOP三特性
封装:
继承:
多态:
- Java中如何实现多继承
实现多个接口
使用内部类
- Java对象生成过程
4.HashTable和HashMap的区别
ü 历史原因:Hashtable是基于陈旧的Dictionary类实现的,HashMap是Java 1.2引进的一个Map接口的一个实现
ü 同步性:Hashtable是同步的,这个类中的一些方法保证了Hashtable中的对象是线程安全的,而HashMap则是异步的,因此HashMap中的对象并不是线程安全的,因为同步的要求会影响执行的效率,所以你不需要线程安全的集合,那么使用HashMap是一个很好的选择,这样可以避免由于同步带来的不必要的性能的开销,从而提高效率
ü 值:HashMap可以存入空值作为key或value,Hashtable则不行!
5.接口的成员域具有什么属性
必须是public 类型的
6.经常使用的三种设计模式,画出UML图,并写出Java代码
7.final、finally、finalize的区别
final关键字
先看看final关键字,它可以被用于以下几个地方:
1、修饰属性、局部变量、方法参数:
如果final修饰的是一个基本类型,就表示这个变量所赋予的值不可修改,即它是个常量;如果final修饰的是一个对象,就表示这个变量被赋予的引用不可修改
2、修饰方法:
被final修改的方法不能被覆写。
3、修饰类
final类不允许被继承(如果String类),编译器在处理时把它的所有方法都当作final的(但数据成员既可以是final,也可以不是,以定义时前面修饰为准),因此final类比普通类拥有更高的效率:
finally关键字
finally关键字用在try/catch语句最末,表示不管是否抛出异常,finally块中的语句最终肯定、一定会被执行
finalize关键字
finalize()是Object类的一个方法,finalize()方法是GC(garbage collector)运行机制的一部分,由对象的垃圾回收器调用此方法,当一个对象被回收时,finalize()方法将会被调用。
8.SOAP、WSDL、UDDI的作用
9.Java输入输出流的两种类型是什么
10.ArrayList如何实现自定义的排序
11.下列代码如何优化
public String test(String s1,String s2)
{
String s = s1;
s+=s2;
return s;
}
(代码非原题,应是String到StringBuffer的优化)
12.写出一个JSP/Servlet,实现传入A和B,计算A*B,并显示结果
常见面试题整理:
① .抽象类和接口的区别
- 接口是公开的,里面不能有私有的方法或变量,接口不能继承其他的类,只能实现其他的接口,子类一定要实现接口里面的所有的方法,接口里面的方法都是抽象的。
而抽象类是可以有是有的方法或变量的,实现抽象类可以有选择地重写需要用到的方法,但是必须实现里面所有的抽象方法,抽象类里面可以有非抽象方法,子类同样要实现抽象类里面的所有的抽象方法。
- 接口中定义的变量只能是public static final 型,且必须给其初值,所以实现类中不能重新定义,也不能改变其值。
抽象类中的变量可定义public private等型,其值可以在子类中重新定义,也可以重新赋值。 - 抽象类可以有构造方法,而接口则没有