1、什么是面向对象
面向过程更注重事情的每一个步骤及顺序,面向对象更注重事情有哪些参与者(对象)、及各自需要做什么
面向过程比较直接高效,而面向对象更易于复用、扩展和维护
封装:内部细节对外部调用透明,外部调用无需修改或者关心内部实现
继承:继承基类的方法,并做出自己的改变、拓展
多态:基于对象所属类的不同,外部对同一个方法的调用,实际执行的逻辑不同
多态条件:继承、方法重写、父类引用指向子类对象
多态弊端:无法调用子类特有的功能
2、JDK、JRE、JVM三者的区别和联系
JDK:Java开发工具
JRE:Java运行时环境
JVM:Java虚拟机
bin(JVM)+lib(类库)=JRE+Java工具=JDK
3、==和equals
==:对比的是栈中的值,基本数据类型是变量值,引用类型是堆中内存对象的地址(比较地址值)
equals:object中默认也是采用==比较,通常会重写(比较值本身)
4、final
修饰类:表示类不可被继承
修饰方法:表示方法不可被子类覆盖(不可重写),但是可以重载
修饰变量:表示变量一旦被赋值就不可以更改它的值
(1)修饰成员变量
如果final修饰的是类变量,在声明的时候就需要赋值或者在静态代码块中赋值
如果final修饰的是成员变量,在声明的时候就需要赋值或者代码块中赋值或者构造器赋值
(2)修饰局部变量
局部变量只声明没有初始化,需要在使用之前进行赋值,但是不允许第二次赋值
(3)修饰基本类型数据和引用类型数据
如果是基本数据类型的变量,则其数值一旦在初始化之后便不能更改
如果是引用类型的变量,则在对其初始化之后便不能再让其指向另一个对象。但是引用的值是可变的
5、什么是跨平台性?原理是什么
跨平台性是指Java语言编写的程序一次编译后,可以在多个系统平台上运行。
实现原理:Java程序是通过Java虚拟机在系统平台上运行的,只要该系统可以安装相应的Java虚拟机就可以运行Java程序。
6、Java基本数据类型
byte、short、int、long、float、double、char、boolean
7、访问修饰符的区别(public、private、protected、以及不写(默认))
private:在同一类内可见。使用对象:变量、方法。注意:不能修饰类(外部类)
default(即不使用任何关键字):在同一包内可见,不使用任何修饰符。使用对象:类、接口、变量、方法。
protected:对同一包内的类和所有子类可见。使用对象:变量、方法。注意:不能修饰类(外部类)。
public:对所有类可见。使用对象:类、接口、变量、方法。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。