用java代码实现创建一个名为“Animal”的父类,具有公共方法“makeSound”。创建两个子类“Cat”和“Dog”,分别继承自“Animal”类并重写父类的方法。在主程序中创建一个“Animal”类型的数组,数组中包含一个“Cat”对象和一个“Dog”对象。使用循环遍历数组,调用“makeSound”方法。
时间: 2023-08-30 19:06:44 浏览: 385
以下是用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类,具有方法makeSound。创建Dog与Cat两个子类,覆盖makeSound方法分别输出“汪汪”和“喵喵”。
好的,我可以回答这个问题。以下是代码示例:
```c
#include <stdio.h>
// Animal类
typedef struct {
void (*makeSound)();
} Animal;
// Dog类
typedef struct {
Animal animal;
} Dog;
void dogMakeSound() {
printf("汪汪\n");
}
// Cat类
typedef struct {
Animal animal;
} Cat;
void catMakeSound() {
printf("喵喵\n");
}
int main() {
// 创建Dog对象
Dog dog;
dog.animal.makeSound = dogMakeSound;
// 创建Cat对象
Cat cat;
cat.animal.makeSound = catMakeSound;
// 调用makeSound方法
dog.animal.makeSound();
cat.animal.makeSound();
return 0;
}
```
输出结果为:
```
汪汪
喵喵
```
java 为父类创建两个子类
好的,让我来为你解答这个问题。
在 Java 中,我们可以通过继承的方式来创建子类。一个父类可以有多个子类,下面是一个简单的例子:
```java
// 父类
class Animal {
void eat() {
System.out.println("动物正在吃东西");
}
}
// 子类1
class Cat extends Animal {
void meow() {
System.out.println("猫正在喵喵叫");
}
}
// 子类2
class Dog extends Animal {
void bark() {
System.out.println("狗正在汪汪叫");
}
}
```
在上面的例子中,我们创建了一个名为 `Animal` 的父类,它有一个 `eat()` 方法。然后我们创建了两个子类 `Cat` 和 `Dog`,它们分别继承自 `Animal`,并且分别有自己的方法 `meow()` 和 `bark()`。
当我们要使用这些类的时候,可以像下面这样来创建它们的实例:
```java
public static void main(String[] args) {
Animal animal = new Animal();
Cat cat = new Cat();
Dog dog = new Dog();
animal.eat(); // 输出:动物正在吃东西
cat.eat(); // 输出:动物正在吃东西
cat.meow(); // 输出:猫正在喵喵叫
dog.eat(); // 输出:动物正在吃东西
dog.bark(); // 输出:狗正在汪汪叫
}
```
在上面的代码中,我们分别创建了一个 `Animal`,一个 `Cat` 和一个 `Dog` 的实例,并分别调用了它们的方法。可以看到,虽然 `Cat` 和 `Dog` 都继承自 `Animal`,但它们有自己独特的行为。