class Cat2 extends Animal{ @SuppressWarnings("unused") private String eyeColor; Cat2(String name,String eyeColor){ super(name); this.eyeColor=eyeColor; } public void enjoy() { System.out.println("猫叫声 ..."); } } public class Demo3_24 { public static void main(String[]args) { Cat2 c=new Cat2("pipi","blue"); c.enjoy(); } }
时间: 2024-04-27 19:22:23 浏览: 76
这段代码中定义了一个继承自Animal类的Cat2类,Cat2类有一个额外的属性eyeColor,构造函数中调用了父类Animal的构造函数,并赋值给name属性。Cat2类中还定义了一个enjoy()方法,输出猫叫声。在主函数中创建了一个名为pipi、眼睛颜色为蓝色的Cat2对象c,并调用了其enjoy()方法。
相关问题
定义动物类Animal包含 属性品种 ,名字, 颜色,eat() 函数内容为空。Cat、Dog继承于Animal。 猫包含新属性眼睛颜色,重写eat() 方法输出 那个品种 名字猫再吃鱼 狗包含swim()方法,重写eat() 方法 输出 品种 名字 狗狗肯肉骨头java
在Java中,我们可以首先定义一个基础类`Animal`,包含通用的属性和方法。然后,让`Cat`和`Dog`这两个类分别作为`Animal`的子类,增加各自的特性和对父类方法的重写。以下是具体的代码示例:
```java
// 动物基类 Animal
public abstract class Animal {
protected String species; // 品种
protected String name; // 名字
protected String color; // 颜色
// 吃的行为,这里是空方法
public abstract void eat();
public void displayInfo() {
System.out.println("Species: " + species);
System.out.println("Name: " + name);
System.out.println("Color: " + color);
}
}
// 猫类 Cat,继承自 Animal 并增加新属性和重写 eat() 方法
public class Cat extends Animal {
private String eyeColor; // 眼睛颜色
public Cat(String species, String name, String color, String eyeColor) {
super(species, name, color);
this.eyeColor = eyeColor;
}
@Override
public void eat() {
System.out.println(name + " the cat is eating fish. Eye color: " + eyeColor);
}
public void swim() {
System.out.println(name + " can't swim but they are a curious cat!");
}
}
// 狗类 Dog,同样继承自 Animal 并增加新属性和重写 eat() 方法
public class Dog extends Animal {
public Dog(String species, String name, String color) {
super(species, name, color);
}
@Override
public void eat() {
System.out.println(name + " the dog is eating bones. ");
}
public void swim() {
System.out.println(name + " loves to swim in the water.");
}
}
```
这样,当你创建`Cat`或`Dog`实例并调用`eat()`方法时,会显示特定品种、名字以及各自特有的行为描述。
阅读全文