Java面向对象04(继承)

继承

集成的本质是对某一批类的抽象,从而实现对现实世界更好的建模

extends的意思是“扩展”。子类是父类的扩展。

JAVA中类只有单继承,没有多继承!

继承是类和类之间的一种关系。除此之外,类和类之间的关系还有依赖,组合,聚合等。
继承关系的俩个类,一个为子类(9派生类),一个为父类(基类)。子类继承父类,使用关键字extends来表示。
子类和父类之间,从意义上讲应该有“is a”的关系

要点:

object类
super - this
方法重写

在Java中所有的类都默认继承Object类
在这里插入图片描述
super

调用父类的构造方法或者变量
调用父类变量代码示例
在这里插入图片描述
输出示例
在这里插入图片描述
调用父类构造方法代码示例
在这里插入图片描述
输出示例
在这里插入图片描述
调用子类无参构造时,会先调用父类无参构造

代码示例
在这里插入图片描述输出示例
在这里插入图片描述

调用子类有参构造时,会先调用父类无参构造,代码示例:
在这里插入图片描述
输出示例
在这里插入图片描述

public Student中的实际代码为

public Student() {
        super();//隐藏代码,调用了父类无参构造器,且必须要在子类构造器的第一行
        System.out.println("子类无参构造器被调用了" );
    }

super注意点
1.super调用父类的构造方法(无参构造器或有参构造器),必须在构造方法的第一个
2.super必须只能出现在子类的方法或者构造方法中
3.super和this不能同时调用构造方法

Vs this

代表的对象不同:
this:本身调用者这个对象
super:代表父类对象的引用
前提
this:没有继承也可以使用
supe:只能在继承条件下使用
构造方法
this();本类的构造
super();父类的构造

方法重写
静态方法代码示例
在这里插入图片描述
输出示例:
在这里插入图片描述

非静态方法代码示例:
在这里插入图片描述
输出示例
在这里插入图片描述
小结:
静态方法是类的方法,非静态方法是对象的方法
重写:需要有继承关系,子类重写父类方法
1.方法名必须相同
2.参数列表必须相同
3.修饰符:范围可以变大:public>Protected>Default>private
4.抛出的异常:范围,可以被缩小,但不能被扩大

为什么需要重写:
1.父类的功能,子类不一定需要,或者不一定满足
快捷键:
ALT+INSERT:选中override

猜你喜欢

转载自blog.csdn.net/qq_51224492/article/details/113795348