一、super关键字
1.super是直接父类对象的引用。可以通过super来访问父类中被子类覆盖的方法或属性。
2.若是构造方法的第一行代码没有显示的调用super或者this(...);那么Java默认都会调用super();含义是调用父类无参数构造方法、这里的super可以省略
二、构造方法调用顺序
构造方法的第一句总是:super(...)来调用父类对应的构造方法。所以,流程就是:先向上追溯到Object,然后再依次向下执行类的初始化块和构造方法,知道当前子类为止。
静态初始化块的调用顺序与构造方法调用顺序相同。
三、访问权限修饰符
修饰符 | 同一个类中 | 同一个包中 | 不同包中继承的子类 | 所有类 |
private | * | |||
default | * | * | ||
protected | * | * | * | |
public | * | * | * | * |
1.private表示私有,只有自己类能访问。
2.default表示没有修饰符修饰,只有同一个包的类能访问
3.protected表示可以被同一个包的类以及其他包中的子类访问
4.public表示可以被所有包中的所有类访问
四、final关键字的作用:
1.修饰变量:被修饰的变量不可改变,一旦赋了初值,就不能被重新赋值
final int MAX_SPEED = 120;
2.修饰方法:该方法不可被子类重写,但是可以被重载!
final void study(){}
3.修饰类:修饰的类不能被继承,如Math、String等
final class A{}