1.面向对象的理解:
以番茄炒蛋为例子
2.JDK JRE JVM 有什么区别:
jdk:Java开发工具包,提供了java的开发环境和运行环境,包含了编译java源文件的编译器javac,还有调试和分析的工具。
jre: java运行环境,包含java虚拟机以及一些基础类库
jvm:java虚拟机,提供执行字节码文件的能力。
3. == 和equals 的区别:
== 比较基本的数据类型,比较的是值。
比较引用类型,比较的是地址值
equals 默认比较的是地址值 ,如果需要比较的是内容,可以重写equals 例如string
4. final 的作用:
final 修饰类 ,表示类不可以被继承
修饰方法, 方法不能被重写 。
修饰变量 ,变量只能是常量
修饰 基本数据类型 ,值不能被修改
修饰 应用类型 ,应用的指向不能修改
5. string ,stringBuffer , stringBuilder 区别
string 是final修饰 的, 是不可变的,所以每次操作都会产生新的string对象。
stringBuffer,stringBuilder 都是在原有的基础上进行操作,如果需要改变字符串的内容,采用这两
stringBuffer 线程安全 ,但是效率低 多线程
stringBuilder 线程不安全 ,但是效率高 单线程
6.接口和抽象类的区别
(1)抽象类可以有构造方法 ,接口中不能有构造方法
(2)抽象类中可以有普通成员变量 ,接口中没有
(3)抽象类中可以包含非抽象方法 , 接口中的所有方法都必须是抽象方法
接口中可以有实现方法 ,在方法的声明上加上default 或者 static
(4)抽象类中的抽象方法的访问类型 可以是 public ,protected和默认类型,但是