1、面向对象编程的特点
封装性,继承性,多态性
封装:是指将对象的属性和行为捆绑成一个单元,即封装成一个类。隐藏了类的内部实现机制。当要操作对象时,是需要调用对象的方法即可,而不需要知道它的具体实现。
继承:继承者可以获得被继承者的所有方法和属性,提高了代码的可重用性。
多态:还不太懂
2、Integer和int的区别
Integer是int的包装类,int是基本数据类型;int的默认值是0,Integer的默认值是null;
3、String能否被继承
不能,String类是被final修饰的类
4、==和equals()的区别
==用于比较基本数据类型和引用数据类型时有不同的功能
比较基本数据类型时,如果两个值相同则返回true;比较引用数据类型时,如何两对象的内存地址相同则为true
equals()用于判断两对象的内容是否相同
4、final、finally(注意return语句)、finalize的区别
final:是一个关键字,可以修饰类、方法和变量。final修饰的类不能被继承;final修饰的方法不能被重写;final修饰的变量只能被赋值一次。
finally:是一个异常处理关键字,通常和try catch搭配使用,无论程序是否发生异常,finally语句块都要被执行。
finalize: 是Object类的方法,当对象在内存中被释放时,垃圾回收器会自动调用该对象的Finalize方法。
5、Error与 Exception的区别
6、常见的五个RuntimeException
7、什么是线程安全
8、ArrayList和Vector、HashMap和HashTable的区别
ArrayList是非线程安全的,Vector是线程安全的。
HashMap是非线程安全的,HashTable是线程安全的。HashMap中允许null键和null值,HashTable中键和值都不能出现null值