方法重写
作者:互联网
方法重写
在继承中有时候子类中的方法并不能满足我们开发的要求 我们就可以使用方法重写来进行定义
对父类的方法进行一些修改就是重写父类方法
注意
重写的方法 必须有同样的方法名、方法参数、返回值类型
构造方法不能被重写
重载和重写的区别
重载:
同一个类中
方法名相同
参数列表不同
返回值类型不同
重写:
两个类
方法名相同
参数列表相同
返回值类型相同
我们可以通过一个注解来检查我们是否完成了重写的要求
@Override 是强制检查该方法是否重写方法
代码
父类
class vehicle{
private String brand;
private int price;
private String colour;
public String getBrand() {
return brand;
}
public void setBrand(String brand) {
this.brand = brand;
}
public int getPrice() {
return price;
}
public void setPrice(int price) {
this.price = price;
}
public String getColour() {
return colour;
}
public void setColour(String colour) {
this.colour = colour;
}
public vehicle(String brand, int price, String colour) {
this.brand = brand;
this.price = price;
this.colour = colour;
}
public vehicle() {
}
@Override
public String toString() {
return "vehicle{" +
"brand='" + brand + '\'' +
", price=" + price +
", colour='" + colour + '\'' +
'}';
}
public void rum(){
System.out.println("开始开车");
}
}
子类:
class carriage extends vehicle{
@Override
public void rum() {
System.out.println("出发");
}
}
测试类:
public static void main(String[] args) {
carriage carriage = new carriage();
carriage.setBrand("宝马");
carriage.setPrice(500000);
carriage.setColour("蓝色");
System.out.println(carriage);
carriage.rum();
}
运行结果:
最后的运行结果是出发而并不是开始开车
如果想让父类中的方法体执行可以使用super
super是访问父类的成员
子类
class carriage extends vehicle{
@Override
public void rum() {
super.rum();
System.out.println("出发");
}
}
运行结果
最后的结果是两个一个是父类中的方法 一个是子类中的方法
标签:colour,String,重写,brand,price,carriage,方法,public 来源: https://www.cnblogs.com/aimz01/p/16383186.html