class Animal {
public String name;
Animal(String name) {
this.name = name;
}
public void enjoy() {
System.out.println("叫声......");
}
}
class Dog extends Animal {
private String eyeColor;
Dog(String n, String c) {
super(n);eyeColor = c;
}
public void enjoy() {
System.out.println("狗叫声......");
}
}
class Cat extends Animal {
public String furColor;
Cat(String n,String f) {
super(n);furColor = f;
}
public void enjoy() {
System.out.println("猫叫声.......");
}
}
class Lady {
private String name;
private Animal pet;
Lady(String name,Animal pet) {
this.name = name;
this.pet = pet;
}
public void myPetEnjoy() {
pet.enjoy();
}
}
public class TestAnimal {
public static void main(String[] args) {
Animal a = new Animal("a");
Cat c = new Cat("catname","x");
Dog d = new Dog("dogname","xx");
Lady l1 = new Lady("xingxing",c);
Lady l2 = new Lady("siquan",d);
//a.enjoy();c.enjoy();l1.myPetEnjoy();
//l2.myPetEnjoy();
//l1.maPetEnjoy();
System.out.println(c);
}
public String toString() {
return"name " + name + "furColor" +furColor;
}
}
编译的时候总出错显示最后重写的toString方法里面找不到name furColor高人指点下 在线等 。。。。
定义在Cat里面就能找到啊
为什么呢 我定义的namefurColor是公共的啊给讲讲啊 好的加分!!!谢谢
|