class Animal{
public String name;
Animal (String name){
this.name=name;
}
public void enjoy(){
System.out.println("jiaosheng~~~~~~~~~");
}
}
class Cat extends Animal{
private String furColour;
Cat(String n,String c){
name=n;
furColour=c;
}
public void enjoy(){
System.out.println("mao jiaosheng!!!!!!!!!!!!");
}
}
class Dog extends Animal{
private String eyesColour;
Dog (String n,String c){
name=n;
eyesColour=c;
}
class Lady extends Animal{
private Animal pet;
Lady(String n,Animal pet){
super(n);
this.pet=pet;
}
public void petEnjoy(){
pet.enjoy();
}
}
}
public class Test2{
public static void main(String args[]){
Cat a=new Cat("tom","blue");
Dog d=new Dog ("ccm","black");
Lady l1=new Lady("cm",d);
Lady l2=new Lady("cm1",a);

}
}

解决方案 »

  1.   

    稍微整理了一下:
    public class Animal{ 
    public String name; 
    Animal (String name){ 
    this.name=name; 

    public void enjoy(){ 
    System.out.println("jiaosheng~~~~~~~~~"); 
    }  public static void main(String args[]){ 
    Cat a=new Cat("tom","blue"); 
    Dog d=new Dog ("ccm","black"); 
    Lady l1=new Lady("cm",d); 
    Lady l2=new Lady("cm1",a); 
    a.enjoy();
    d.enjoy();

    }class Cat extends Animal{ 
    private String furColour; 

    Cat(String n,String c){ 
    super(n); 
    name=n; 
    furColour=c; 

    public void enjoy(){ 
    System.out.println("mao jiaosheng!!!!!!!!!!!!"); 


    class Dog extends Animal{ 
    private String eyesColour; 
    Dog (String n,String c){ 
    super(n); 
    name=n; 
    eyesColour=c; 

    }
    class Lady extends Animal{ 
    private Animal pet; 
    Lady(String n,Animal pet){ 
    super(n); 
    this.pet=pet; 

    public void petEnjoy(){ 
    pet.enjoy(); 

    }
      

  2.   

    package zhj.Usual_Test;public class Animal_Test{
        public static void main(String args[]){ 
            Cat c=new Cat("tom","blue"); 
            Dog d=new Dog ("ccm","black"); 
            Lady lady1=new Lady("lady1",c); 
            Lady lady2=new Lady("lady2",d); 
            c.enjoy();
            d.enjoy();
            lady1.petEnjoy();
            lady2.petEnjoy();
        } 
    }class Animal{ 
        public String name; 
        Animal (String name){ 
            this.name=name; 
        } 
        public void enjoy(){ 
            System.out.println("Sound"); 
        } 
    }class Cat extends Animal{ 
        private String furColour; 
        
        Cat(String n,String c){ 
            super(n); 
            furColour=c; 
        } 
        public void enjoy(){ 
            System.out.println("Sound of Cat");
            System.out.println("FurColour" + furColour);
        } 

    class Dog extends Animal{ 
        private String eyesColour; 
        Dog (String n,String c){ 
            super(n); 
            eyesColour=c; 
        }
        public void enjoy(){
         System.out.println("Sound of Dog");
         System.out.println("EyesColour" + eyesColour);
        }
    }
    class Lady extends Animal{ 
        private Animal pet; 
        Lady(String n,Animal pet){ 
            super(n); 
            this.pet=pet; 
        } 
        public void petEnjoy(){ 
         System.out.println("Sound of" + pet);
            pet.enjoy(); 
        } 
    }
      

  3.   


    class Animal{ 
    public String name; 
    Animal (String name){ 
    this.name=name; 

    public void enjoy(){ 
    System.out.println(name+"jiaosheng~~~~~~~~~"); 


    class Cat extends Animal{ 
    private String furColour; 
    Cat(String c){ 
    name="cat"; 
    furColour=c; 


    class Dog extends Animal{ 
    private String eyesColour; 
    Dog (String c){ 
    name="dog"; 
    eyesColour=c; 

    }//这里好象少个大括号class Lady extends Animal{ 
    private Animal pet; 
    Lady(Animal pet){  
    this.pet=pet;
    name=pet.name; 

    public void petEnjoy(){ 
    pet.enjoy(); 


    public class Test2{ 
    public static void main(String args[]){ 
    Cat a=new Cat("blue"); 
    Dog d=new Dog ("black"); 
    Lady l1=new Lady(d); 
    Lady l2=new Lady(a); 
    a.enjoy();
    d.enjoy();
    l1.enjoy();
    l2.enjoy();} 
    }
    //这个程序好象只在测试传值的问题吗?似乎没什么实际作用
      

  4.   


    class Animal {
    public String name;
    Animal() {

    }
    Animal(String name) {
    this.name = name;
    } public void enjoy() {
    System.out.println("jiaosheng~~~~~~~~~");
    }
    }class Cat extends Animal {
    private String furColour; Cat(String n, String c) {
    name = n;
    furColour = c;
    } public void enjoy() {
    System.out.println("mao jiaosheng!!!!!!!!!!!!");
    }
    }class Dog extends Animal {
    private String eyesColour; Dog(String n, String c) {
    name = n;
    eyesColour = c;
    } class Lady extends Animal {
    private Animal pet; Lady(String n, Animal pet) {
    super(n);
    this.pet = pet;
    } public void petEnjoy() {
    pet.enjoy();
    }
    }
    }public class Test2 {
    public static void main(String args[]) {
    Cat a = new Cat("tom", "blue");
    Dog d = new Dog("ccm", "black");
    Dog.Lady l1 = d.new Lady("cm", d);
    Dog.Lady l2 = d.new Lady("cm1", a); }
    }