先说class的访问权限
public 类可以在其他的包使用,而 default 就只可以在本包里面使用
再说我们继承下的数据访问权限
public | protected | default | private | |
本类 | 1 | 1 | 1 | 1 |
同包不同类 | 1 | 1 | 1 | |
不同包当子类 | 1 | 1 | ||
不同包不当直接用 | 1 |
不过protected继承下来的数据在使用 点操作 时有点不同
比如b继承a,a本身的protected数据没有问题,但是a继承的protected数据分两种情况
操作时的包和 a同包 -----没问题
操作时的包和 a不同包----编译不通过
-------------还有一点
private的数据其实被继承了下来,不过我们不能访问
看似貌似占了内存,其实我们可以通过父类的方法去调用会他们
方法重写格式
权限 static 返回值 方法名 (a,b ){}
只能升高 不变 父类或子类 不变 不变
类里面有个和this相同的指针,不过他指向父类的super
不可以 super.super.a
final
final类, 不能被继承
final方法,不能被覆盖
final变量,不能被修改,但可以被覆盖
abstract
abstract类里面的有抽象方法,也可以有非抽象方法
非abstrct类里面不可以有抽象方法
非抽象子类继承时候必须重写所有的抽象方法
抽象子类继承时候可以重写,也可以不重写