子类改写父类方法
public class text1 {
public static void main(String[] args) {
// 创建一个 Computer 类型的引用变量 pc,并实例化为 Pc 对象,传入 CPU、内存、磁盘和品牌参数值
Computer pc = new Pc("4", 4, 5, "90");
// 调用 inpri() 方法打印计算机的详细信息和品牌信息
System.out.println(pc.inpri());
}
}
// Computer 类:表示计算机
public class Computer {
private String cpu; // CPU
private int memory; // 内存
private int disk; // 磁盘
// 构造方法,用于初始化 CPU、内存和磁盘
public Computer(String cpu, int memory, int disk) {
this.cpu = cpu;
this.memory = memory;
this.disk = disk;
}
// 获取 CPU
public String getCpu() {
return cpu;
}
// 设置 CPU
public void setCpu(String cpu) {
this.cpu = cpu;
}
// 获取内存
public int getMemory() {
return memory;
}
// 设置内存
public void setMemory(int memory) {
this.memory = memory;
}
// 获取磁盘
public int getDisk() {
return disk;
}
// 设置磁盘
public void setDisk(int disk) {
this.disk = disk;
}
// 返回计算机的详细信息
public String Details() {
return "CPU: " + cpu + ", Memory: " + memory + ", Disk: " + disk;
}
// 返回计算机的详细信息,包括品牌信息
public String inpri() {
return Details();
}
}
// Pc 类:表示个人计算机,继承自 Computer 类
public class Pc extends Computer {
private String brand; // 品牌
// 构造方法,调用父类的构造方法初始化 CPU、内存和磁盘,并设置品牌
public Pc(String cpu, int memory, int disk, String brand) {
super(cpu, memory, disk);
this.brand = brand;
}
// 获取品牌
public String getBrand() {
return brand;
}
// 设置品牌
public void setBrand(String brand) {
this.brand = brand;
}
// 返回计算机的详细信息和品牌信息
@Override
public String inpri() {
return super.Details() + ", Brand: " + brand;
}
}
Computer
类中的inpri()
方法被修改为仅返回计算机的详细信息,不再包括品牌信息。Pc
类中的inpri()
方法被重写,调用了父类的Details()
方法来获取计算机的详细信息,并在此基础上添加了品牌信息。- 添加了对
Pc
类中品牌属性的获取和设置方法。 - 在
Pc
类中对inpri()
方法进行了重写,并使用@Override
注解标记,以确保正确覆盖父类中的方法。