给定如图 7 - 2 所示的
Animal类及其子类Bird和
Fish的继承关系UML图。
(1)编写代码实现这些类,为这些类定义无参构造方法,在构
造方法中输出一句话。实现每个类中定义的方法。
(2)编写测试类AnimalTest,在main()方法中创建一个Bird对
象,访问该对象的numberOfWings成员和eat()与fly()方法。
(3)编写测试类AnimalTest2,在main()方法中创建一个Fish
对象,访问该对象的numberOfFins成员和eat()与swim()方法。
public class Animal {
private double weight;
//Animal类的无参构造方法Animal()
补充代码
public void eat(){
System.out.println("调用了Animal类的eat方法");
}
public class Fish extends Animal{
public int numberOfFins;
//Fish无参构造方法Fish()
补充代码
public void eat(){
System.out.println("调用了Fish类的eat方法");
}
public void swim(){
System.out.println("有"+numberOfFins+"条鱼河里游");
}
}
public class Bird extends Animal {
public int numberOfWings;
//Bird类的无参构造函数Bird()
补充代码
public Bird(int numberOfWings){
this.numberOfWings=numberOfWings;
System.out.println("调用了Bird类的有参构造函数");
}
public void fly(){
System.out.println("共有"+numberOfWings+"只飞起来了"); } }
public class AnimalTest {
public static void main(String[]args)
}
}
public class Animal {
private double weight;
public Animal() {
System.out.println("调用Animal类的无参构造函数");
}
public void eat() {
System.out.println("调用了Animal类的eat方法");
}
}
class Fish extends Animal {
public int numberOfFins;
public Fish() {
System.out.println("调用了Fish类的无参构造函数");
}
public Fish(int numberOfFins) {
this.numberOfFins = numberOfFins;
System.out.println("调用了Fish类的有参构造函数");
}
@Override
public void eat() {
System.out.println("调用了Fish类的eat方法");
}
public void swim() {
System.out.println("有" + numberOfFins + "条鱼河里游");
}
public int getNumberOfFins() {
return numberOfFins;
}
public void setNumberOfFins(int numberOfFins) {
this.numberOfFins = numberOfFins;
}
}
class Bird extends Animal {
public int numberOfWings;
public Bird() {
System.out.println("调用了Bird类的无参构造函数");
}
public Bird(int numberOfWings) {
this.numberOfWings = numberOfWings;
System.out.println("调用了Bird类的有参构造函数");
}
@Override
public void eat() {
System.out.println("调用了Bird类的eat方法");
}
public void fly() {
System.out.println("共有" + numberOfWings + "只飞起来了");
}
public int getNumberOfWings() {
return numberOfWings;
}
public void setNumberOfWings(int numberOfWings) {
this.numberOfWings = numberOfWings;
}
}
class AnimalTest {
public static void main(String[] args) {
Fish fish = new Fish(3);
int numberOfFins = fish.getNumberOfFins();
fish.eat();
System.out.println("numberOfFins: " + numberOfFins);
fish.swim();
System.out.println();
Bird bird = new Bird(5);
int numberOfWings = bird.getNumberOfWings();
bird.eat();
System.out.println("numberOfWings: " + numberOfWings);
bird.fly();
}
}