-
接口与抽象类的异同
相同:- 都可以生成 对应的。class文件。
- 都不能创建对象。
- 都可以声明引用。
- 都可以使用object中的方法。
不同: - 接口只能定义公开静态常量,隐式存在public static final.
- 接口只能定义公开抽象方法。
- 没有构造方法,动态代码块,静态代码块。
-
“==”和equals的区别
- ==:比较基本数据类型比较的是数值是否相同;比较引用数据类型比较的是地址是否相同。
- equals:只能比较引用数据类型,默认比较地址覆盖之后比较内容。
-
类加载:
- 概念:当jvm首次使用某个类,这个类的.class文件必须先加载到内存中。
- 加载的时机:创建对象、创建子类对象、访问静态属性、调用静态方法。
-
缓存
java预先创建256个整数类型的包装类对象,存放在数组中。 -
String
String s=“hello” 和String s2=new String(“hello”)的区别?
前置创建一个对象,后者创建两个对象。 -
String和StringBuffer和StringBuilder区别?
String:内容和长度不变。
String Buffer和StringBuilder:内容和长度可变。
StringBuffer:线程安全,效率低。
StringBulider:线程不安全,效率高。 -
List三个实现类的特点
- ArrayList:底层数组,查询快,增删慢,线程不安全,效率低。
- Vector:底层数组,查询快,增删慢,线程安全,效率低。
- Linkedlist:底层链表,查询慢,增删快。
-
HashSet如何保证元素唯一?
-
HashMap和Hashtable的区别?
Hashmap可以存储null键和null值,线程不安全,效率高。
Hashtable不可用存储null键和null值,线程安全,效率低。 -
throws和throw区别?
throws:
1. 写在方法声明的后面。
2. 后面跟的是异常类名。
3. 后面可以跟多个异常类名。
throw:
1. 写在方法的内部。
2. 后面跟的是异常对象。
3. 后面只能是一个异常对象。 -
final、 finally、 finalize的区别?
final:最终
修饰类:类不能被继承。
修饰方法:方法不能被覆盖。
修饰变量:变量为常量只能赋值一次。
finally:异常处理的组成部分,作用:释放资源,放在finally中的代码一定会执行。
finalize:是object类中的方法,用于垃圾回收。
JAVASE常见面试题
最新推荐文章于 2024-03-05 22:04:50 发布