class Animal {

private String name;

Animal(String name) {this.name = name;}

public void eng() {
System.out.println("叫声........");
}
}

class Cat extends Animal {

private String eyescolor;

Cat(String name,String eyescolor) {super(name); this.eyescolor = eyescolor;}

public void eng() {
System.out.println("猫的叫声......");
}
}
class Lady {

private String name;
private Animal animal;

public void lady(String name, Animal animal) {
this.name = name; this.animal = animal;
}

public void MyEng() {animal.eng();}
}


public class TestEng {

public static void main(String[] agrs) {
Cat c = new Cat("cat", "bule"); Lady l1 = new Lady("mimi",c);
l1.MyEng();}

}

解决方案 »

  1.   

    public void lady(String name, Animal animal) {
    this.name = name; this.animal = animal;
    }
    这个不是lady的构造方法   这就是一个普通方法,应该去掉void   构造方法没有返回值
      

  2.   

    还有Lady的L  你的应该大写  构造方法的方法名必须与类名一致