**一、**JAVA面相对象三大特征:封装、继承、多态
其中封装的主要作用在于对外隐藏内部实现细节,增强程序的安全性。
继承:子类继承父类所有的非私有属性和方法,实列化的子类会递归调用父类中的构造方法.。
多态的条件:继承、重写以及自动转型
二、重写与重载的区别:
方法重载必须是在一个类的内部,重写则是子类重写父类的方法;
重载要求方法名相同,参数列表不同,返回值类型可以相同,也可以不同,不能以返回类型区别方法重载;
重写要求方法名、参数、返回值类型必须一致,访问权限只能变大,不能缩小。
构造方法可以重载,但不能重写。
三、 访问修饰符
public:同一个工程下皆可以访问。
protected:同一个包下可以访问,不同包下子类可以继承父类。
default:同一个包下可以访问,但不同包下的子类不可以继承父类。
private:只能在同一个类中访问。
四、 抽象类与接口类
抽象类:abstract
接口:inerface
接口是抽象类的一种;
抽象类有构造方法,接口则没有构造方法;
抽象类可以存在抽象方法,构造方法和普通方法,接口只能存在抽象方法;
抽象类和接口都不能用new关键字直接实列化;
接口中的方法默认使用public、abstract修饰,属性默认public、static、final修饰,并且属性只能是常量;抽象类的属性可以是常量,也可以是变量
五、 super和final关键字
super:super()方法在子类构造方法调用父类构造方法时,必须在构造 的第一行;
this与super不可以同时出现在一个构造函数当中。
final:表示最终的意思
修饰类:类不能被继承;
修饰方法:当前方法不能被重写;
修饰属性:代表当前属性的值不能再被标记(赋值);
修饰参数、局部变量:在参数的函数方法体中,不能再被标记。
六、 异常
try、catch与finally:
try和catch可以一起使用,try和finally也可以一起使用,try、catch与finally也可以同时使用。却不能单独使用,同时catch和finally并不能再没有try的情况下使用。
finally里面的代码必然执行,即便try{}中有return,也会执行,并且在return之前执行。