使用Java实现面向对象编程(2)
super的概念:
a. super.方法名 调用父类的方法
b. super() 表示调用父类的构造方法
在构建子类对象时 会默认创建父类的对象 无论是否强制写了super()
无法被继承的事物:
1.私有化的属性OR 方法
2.访问权限
3.构造方法 (当一个对象被创建的时候 才会执行 无需继承)
本类 同包中 不同包的子类 不同包中
private 可以 不可以 不可以 不可以
默认的 可以 可以 不可以 不可以
protected 可以 可以 可以 不可以
public 可以 可以 可以 可以
构造方法的执行顺序(带上静态块内容)
首先从父类-》子类 静态块的内容优先依次执行
构造方法从父类-->子类 依次执行
重写
子类继承父类 重写父类的同名方法 如果强行重写 会丢失父类方法的引用
抽象类和抽象方法
1.在父类中定义了一个抽象方法 那么子类必须实现这个方法
2.父类有抽象方法 那么这个父类一定是抽象类
3.如果子类不选择实现这个方法 子类就必须定义成抽象类
判断:
抽象类中一定有抽象方法 (F) 可有可无
有抽象方法的类一定是抽象类 (T)
final
1.定义在属性上 表示这个属性的值不允许改动
2.定义在类上 表示这个类是最终版本 无法被继承
3.定义在方法上 表示这个方法是无法被子类重写
4.定义在构造方法上(无意义 直接报错)
8种基本数据类型:
整型 byte short int long
浮点型 float double
字符型 char
布尔型 boolean