Java 18 面向对象--继承01

184 阅读1分钟

1 . 继承

继承: extends 关键字 ,可以用这个关键字,让一个类和另一个类建立起继承关系。

0887.png

2 . 继承的好处

0888.png

3 . 继承的特点

Java支持单继承 , 不支持多继承 , 但支持多层继承

3 . 1 单继承:

一个子类只能继承一个父类,不能同时继承多个父类。

3 . 2 多层继承:

子类 A 可以继承父类 B ,父类 B 可以继承父类 C

0889.png

注意: 每个类都直接或者间接继承 Object类(祖先中的祖先)。

4 . 子类能继承父类的哪些内容?

0890.png

4 . 1 构造方法:

父类的构造方法不能被子类继承!!!不管是否私有

因为会违背,构造方法与类同名的规则。

4 . 2 成员变量:

不管父类的成员变量是私有还是非私有,都能被子类继承!!但就是私有的 private 的不能直接调用。可以通过用 getXxx()或 setXxx()调用。

0893.png

如上图,会报错!!!

4 . 2 . 1 成员变量内存图:

0891.png

0892.png

4 . 3 成员方法:

父类非私有的成员方法才能被子类继承!!!

因为非私有的成员方法会被一层一层添加到虚法表中,而虚法表中的方法才能被调用!!!

0894.png

4 . 3 . 1 成员方法内存图: 0895.png