1.什么是面向对象?
它相对于面向过程来说,‘
面向过程:更加注重的是事情的每一个步骤和顺序
面向对象:更加注重事情有哪些参与者
eg:洗衣机洗衣服。
三大特征:封装、继承、多态
2.JDK、JRE、JVM之间的联系和区别
jre:jvm+核心类库
jdk:jre+开发工具(javac、javadoc、jar.exe)
3.finl
修饰类:不能被继承
修饰方法:不能被重写,可以被重载
修饰变量:类变量:只能在声明时或静态代码块赋值
成员变量:声明、非静态代码块或者构造器赋值
4.String、StringBuffer、StringBuild的区别
String:finl修饰的,不可变的,每次操作都会生成新的String对象
StringBuffer线程安全:所有方法都由sycniz修饰
StringBuild线程不安全
如果多线程共享变量用StringBuffer,除了此情况一般优先使用StringBuffer
5.List与Set
List:可重复,有序的,可以有多个null,可以使用迭代器遍历
Set:不可重复,无序的,只能有一个null,只能使用迭代器遍历