java中用继承方式显示卖出指定的宠物
时间: 2024-11-03 20:23:50 浏览: 12
在Java中,使用继承的方式可以创建一个通用的`Animal`类(或`Pet`类),然后让`Dog`, `Cat`等具体的宠物类继承自它,并重写父类中的`sell()`方法来展示各自的特性。这是一个示例:
```java
// 宠物基类(Animal)
public class Animal {
protected String name;
protected int price;
public Animal(String name, int price) {
this.name = name;
this.price = price;
}
// 父类的卖法方法,这里默认是打印基本信息
public void sell() {
System.out.println("出售一个宠物:" + name + ",价格为:" + price);
}
}
// 子类(Dog和Cat)
public class Dog extends Animal {
public Dog(String name, int price) {
super(name, price); // 调用父类构造函数
}
@Override
public void sell() {
System.out.println("出售一只小狗:" + name + ",价格为:" + price);
}
}
public class Cat extends Animal {
public Cat(String name, int price) {
super(name, price); // 调用父类构造函数
}
@Override
public void sell() {
System.out.println("出售一只小猫:" + name + ",价格为:" + price);
}
}
// 测试主类
public class Main {
public static void main(String[] args) {
Dog dog = new Dog("旺财", 500);
dog.sell(); // 输出:出售一只小狗:旺财,价格为:500
Cat cat = new Cat("喵喵", 400);
cat.sell(); // 输出:出售一只小猫:喵喵,价格为:400
}
}
```
在这个场景下,当你创建`Dog`或`Cat`的对象时,它们都会继承`Animal`类的属性和方法,而`sell()`方法因为被覆盖了,所以根据对象的实际类型(`Dog`或`Cat`),会执行相应的卖法。
阅读全文