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 等型, 其值可以在子类中重新定义, 也可以重新赋值.
抽象类可以有构造方法, 而接口则没有
来源: http://www.bubuko.com/infodetail-2478987.html