java 怎么在一个类组成的列表里再分类
时间: 2024-03-14 16:47:54 浏览: 97
你可以使用继承和多态的特性来实现在一个类组成的列表里再分类。具体的做法是:定义一个基类,然后从基类派生出不同的子类,每个子类代表一个分类。接着,将这些子类的对象放入一个列表中,列表中的元素类型为基类类型。这样,你就可以通过列表中的元素来调用子类中定义的方法,实现在一个类组成的列表里再分类的功能。例如:
```
class Animal {
// 基类
public void eat() {
System.out.println("Animal is eating...");
}
}
class Cat extends Animal {
// 子类1
public void meow() {
System.out.println("Cat is meowing...");
}
}
class Dog extends Animal {
// 子类2
public void bark() {
System.out.println("Dog is barking...");
}
}
public class Main {
public static void main(String[] args) {
List<Animal> animalList = new ArrayList<>();
animalList.add(new Cat());
animalList.add(new Dog());
for (Animal animal : animalList) {
animal.eat();
if (animal instanceof Cat) {
((Cat) animal).meow();
} else if (animal instanceof Dog) {
((Dog) animal).bark();
}
}
}
}
```
在上面的代码中,Animal 是基类,Cat 和 Dog 是继承自 Animal 的子类,它们都有自己的方法。在 main 方法中,我们将 Cat 和 Dog 的对象添加到 animalList 中,然后遍历 animalList,通过 instanceof 运算符判断 animal 的类型,从而分别调用 Cat 和 Dog 中的方法。这样,就实现了在一个类组成的列表里再分类的功能。
阅读全文