java面试题整理
1、java基础
1、JDK和JRE有什么区别?
JDK包含JRE,同时还包含了编译器javac,java程序调试和分析工具。
如果要运行java程序,安装JRE就可以。
编写java程序,需要安装JDK
2、==和equals的区别是什么?
==解读
- 基本类型:比较的是值是否相同
- 引用类型:比较的是引用是否相同
equals
- 本质就是==,但String和Integer等类重写了equals方法,把他变成了值的比较。比较相同值的不同对象是false,因为本质就是==
3、两个对象的hashCode()相同,则equals()也一定为true,对吗?
不对,equals()相等,hashCode()一定相同,但是hashCode()相同,equals()不一定相等
4、final在java中有什么作用?
- final修饰的类叫最终类,该类不能呗继承。
- final修饰的方法不能被重写。
- final修饰的变量叫常量,常量必须初始化,初始化之后就不能被修改。