至少新建三个类(要求:其中二个类有继承关系,代码要体现继承的意义;另一个类用于实现构造函数),构造函数要求:至少三个。
时间: 2024-09-06 07:05:07 浏览: 46
Java:使用抽象类定义一个“形状类”,能够计算周长和面积。
好的,这里是一个简单的例子,展示了如何创建三个类,其中`Animal`类是父类,`Dog`和`Cat`类是其子类,并且每个类都有至少三个构造函数:
```java
// 父类 Animal
class Animal {
private String name;
private int age;
// 构造函数1:默认无参构造函数
public Animal() {
this.name = "未知";
this.age = 0;
}
// 构造函数2:接受name参数
public Animal(String name) {
this(name, 0);
}
// 构造函数3:接受name和age参数
public Animal(String name, int age) {
this.name = name;
this.age = age;
}
// 方法展示继承意义,如获取年龄
public int getAge() {
return age;
}
}
// 子类 Dog 继承自 Animal 类
class Dog extends Animal {
private String breed;
// 构造函数4:Dog 类特有的参数
public Dog(String name, int age, String breed) {
super(name, age); // 调用父类的构造函数
this.breed = breed;
}
// 构造函数5:只传递breed参数
public Dog(String breed) {
this("未知", 0, breed);
}
}
// 另一个类 Cat 也继承自 Animal 类
class Cat extends Animal {
private boolean isMale;
// 构造函数6:Cat 类特有的参数
public Cat(String name, int age, boolean isMale) {
super(name, age); // 调用父类的构造函数
this.isMale = isMale;
}
// 构造函数7:仅传递isMale参数
public Cat(boolean isMale) {
this("未知", 0, isMale);
}
}
// 使用示例
public class Main {
public static void main(String[] args) {
Animal animal1 = new Animal(); // 默认构造函数
Animal animal2 = new Animal("Tom"); // 单一参数构造函数
Dog dog = new Dog("Rex", 3, "Golden Retriever"); // 多参数构造函数
Cat cat = new Cat("Mia", 2, true); // 多参数构造函数
}
}
```
在这个例子中,`Dog`和`Cat`类通过继承`Animal`类,实现了对动物的通用特性(如名字和年龄)的共享,同时也各自添加了特定的属性(如狗的品种和猫的性别)。每个类都包含了至少三个构造函数,分别满足不同情况下的初始化需求。
阅读全文