一个Animal类,他有name,age属性。他有两个子类,一个是Dog类,一个是Cat类。设计好上面三个类。在main方法中,建立一个TreeSet集合,里面放置2个Dog对象,
时间: 2024-05-12 19:16:50 浏览: 101
2个Cat对象。然后遍历集合中的所有对象,输出他们的名字和年龄。
好的,我了解了你的问题,以下是对应的Java代码:
Animal类:
```java
public class Animal implements Comparable<Animal> {
private String name;
private int age;
public Animal(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
@Override
public int compareTo(Animal o) {
return Integer.compare(age, o.getAge());
}
}
```
Dog类:
```java
public class Dog extends Animal {
public Dog(String name, int age) {
super(name, age);
}
}
```
Cat类:
```java
public class Cat extends Animal {
public Cat(String name, int age) {
super(name, age);
}
}
```
在main方法中,我们可以这样来创建TreeSet集合,并往里面添加对象:
```java
TreeSet<Animal> set = new TreeSet<>();
set.add(new Dog("旺财", 2));
set.add(new Dog("小黑", 3));
set.add(new Cat("咪咪", 1));
set.add(new Cat("花花", 4));
```
最后,我们遍历集合中的所有对象,输出他们的名字和年龄:
```java
for(Animal animal : set) {
System.out.println(animal.getName() + " " + animal.getAge());
}
```
输出结果:
```
咪咪 1
旺财 2
小黑 3
花花 4
```
希望我的回答对您有所帮助!
阅读全文