Java思维---方法的重写与super

100 阅读1分钟

一、方法的重写

(@override)

在Animal类中定义一个barking方法

public void barking(){
    System.out.println("动物叫");
}

而我们希望Dogs、Cats输出的叫声不相同,

由于我们定义的是方法,不是变量,此时用户不能给方法赋值。


【解决方案】

在Dogs和Cats类中重写barking方法。

public class Dogs extends Animal{
    // Alt+insert
    @override
    public void barking(){
        System.out.println("汪汪汪!");
    }
}
// barking 是它自己拥有的特性,不是来自于其父类的。

子类自己认为,应打破其父类的传统,进行革新,革新的内容是——方法体

@override 标志重写父类的方法


二、super

super(可以理解为啃老:older_man:)

指仍然运用父类的方法。

@override
public void barking(){
    super.barking();
}

三、super使用父类构造方法

在继承中,子类未继承父类的构造方法

Alt+insert——>constructor

全选父类中的构造方法,

一键在子类中生成构造方法