权限修饰符主要是四种
private,default(不写就是默认),protected,public
private只能修饰本类
deafult修饰本类和同包类
protected修饰本类,同包类,不同包子类
public修饰本类,同包类,不同包子类以及不同包的其他类
以上权限修饰符只能修饰成员(static),成员修饰符(成员变量|成员方法)
private的内容不能被继承
只有public和default能修饰类,并且default默认出现
equals默认调用object类的euquals方法,比较两个对象的地址是否相同,但是equals可以被自定义改写,使其能够比较两者间的内容等
super
super 指代父类对象
super用在构造器的首行调用父类中的构造器
super(参数列表)
必须要使用于首行,如果没有显示调用父类中其他构造器,默认调用父类空构造
如果存在子父类中同名成员,并且想要调用父类中的成员,使用super表示父类对象,否则默认子类(就近原则)
override
重写:
1.不同的类
2.继承关系|实现关系
3.方法签名相同(方法名+参数列表)
如何检查方法的重写:
1.左边会有一个向上的三角
2.强制检查 @Override
不能被重写:
1.被private修饰的方法不能被重写
2.被final修饰的方法不能被重写
3.被static修饰的方法不能被重写
如果子父类中的同名方法,父类中是静态的,子类中的同名方法要求也要被static修饰
多态
多态的前提:
- 类的继承
- 接口的实现
多态的最终体现:
- 父类的引用指向子类的对象
多态的目的:
-
父类的引用在如果调用子父类中都有的方法,调用的是子类中重写的方法
子类的新增方法对父类引用不可见
多态使用成员:
- 成员变量: 编译运行看父类
- 成员方法: 编译看父类|类型|左边,运行看子类|找对象|右边