用java代码实现创建一个名为“Animal”的父类,具有公共方法“makeSound”。创建两个子类“Cat”和“Dog”,分别继承自“Animal”类并重写父类的方法。在主程序中创建一个“Animal”类型的数组,数组中包含一个“Cat”对象和一个“Dog”对象。使用循环遍历数组,调用“makeSound”方法。
时间: 2023-08-30 16:06:44 浏览: 751
以下是用Java代码实现创建“Animal”父类和其子类“Cat”和“Dog”的示例:
```java
class Animal {
public void makeSound() {
System.out.println("Animal is making a sound");
}
}
class Cat extends Animal {
@Override
public void makeSound() {
System.out.println("Meow!");
}
}
class Dog extends Animal {
@Override
public void makeSound() {
System.out.println("Woof!");
}
}
public class Main {
public static void main(String[] args) {
Animal[] animals = new Animal[2];
animals[0] = new Cat();
animals[1] = new Dog();
for (Animal animal : animals) {
animal.makeSound();
}
}
}
```
输出结果为:
```
Meow!
Woof!
```
相关问题
设计一个父类 Animal ,包含一个成员变量 name 和一个方法 makeSound() 。创建两个子类 Dog (狗)和 Cat (猫),在子类中使用 super 关键字初始化父类的成员变量,并实现自己的 makeSound() 方法,分别输
设计一个名为`Animal`的父类,我们可以这样实现:
```java
public class Animal {
private String name; // 成员变量 name
// 父类构造函数,用于初始化 name
public Animal(String name) {
this.name = name;
}
// 父类的通用方法
public void makeSound() {
System.out.println("Animal makes a sound");
}
}
```
接着我们创建两个子类 `Dog` 和 `Cat`,每个子类都会继承 `Animal` 并覆盖 `makeSound()` 方法:
```java
public class Dog extends Animal {
public Dog(String name) {
super(name); // 使用 super 初始化父类的 name
}
@Override
public void makeSound() {
System.out.println("Dog barks");
}
}
public class Cat extends Animal {
public Cat(String name) {
super(name); // 使用 super 初始化父类的 name
}
@Override
public void makeSound() {
System.out.println("Cat meows");
}
}
```
现在,你可以创建 `Dog` 或 `Cat` 的实例,并通过它们的父类引用调用 `makeSound()` 方法,这将体现多态性:
```java
public static void main(String[] args) {
Animal myDog = new Dog("Buddy");
Animal myCat = new Cat("Whiskers");
myDog.makeSound(); // 输出 "Dog barks"
myCat.makeSound(); // 输出 "Cat meows"
}
```
Java:设计一个动物系统,包括一个基类animal和两个子类dog和cat,每个类都有一个makeSound()方法,用于模拟动物的叫声
在Java中,我们可以创建一个简单的"动物"系统来展示多态的概念。首先,我们会定义一个名为Animal的基类,然后创建Dog和Cat两个子类,它们都继承自Animal,并重写`makeSound()`方法来表示各自的叫声。
```java
// 基类 Animal
public class Animal {
public abstract void makeSound(); // 抽象方法,需要子类实现
// 共享的行为,如吃饭
public void eat() {
System.out.println("动物正在吃食物");
}
}
// 子类 Dog
public class Dog extends Animal {
@Override
public void makeSound() {
System.out.println("汪汪");
}
}
// 子类 Cat
public class Cat extends Animal {
@Override
public void makeSound() {
System.out.println("喵喵");
}
}
```
现在你可以实例化这些类并演示多态:
```java
public class Main {
public static void main(String[] args) {
Animal dog = new Dog();
Animal cat = new Cat();
dog.makeSound(); // 输出 "汪汪"
cat.makeSound(); // 输出 "喵喵"
// 使用父类引用调用子类方法
animal.eat(); // 全局变量 animal 指向子类实例,所以会调用子类的eat()方法
}
}
```
阅读全文