一、方法的重写
(@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(可以理解为啃老👴)
指仍然运用父类的方法。
@override
public void barking(){
super.barking();
}
三、super使用父类构造方法
在继承中,子类未继承父类的构造方法
Alt+insert——>constructor
全选父类中的构造方法,
一键在子类中生成构造方法