package com.ch3;public class Animal {
public String name;
public Animal(String name){
name=this.name;
}
}
package com.ch3;public class Cat extends Animal {
public String eyeColor;
public Cat(String name,String eyeColor){
super(name);
eyeColor=this.eyeColor;
}
}
package com.ch3;public class Dog extends Animal {
public String furColor; public Dog(String name, String furColor) {
super(name);
furColor = this.furColor;
}}
package com.ch3;public class TestAnimal {
public static void main(String[] args){
TestAnimal test =new TestAnimal();
Cat cat=new Cat("catname","redEye");
test.f(cat);
}
public void f(Animal a){
System.out.println("Name:"+a.name);
if(a instanceof Cat){
Cat cat=(Cat)a;
System.out.println("EyeColor:"+cat.eyeColor);
}else if(a instanceof Dog){
Dog dog=(Dog)a;
System.out.println("FurColor:"+dog.furColor);
}
}
}
这是我在尚学堂看到老师的一个视频,然后模拟写了一个类似的,但是结果不是我想到的那种,结果是:
Name:null
EyeColor:null
我对了几遍,都看不出来,好郁闷啊!
public String name;
public Animal(String name){
name=this.name;
}
}
package com.ch3;public class Cat extends Animal {
public String eyeColor;
public Cat(String name,String eyeColor){
super(name);
eyeColor=this.eyeColor;
}
}
package com.ch3;public class Dog extends Animal {
public String furColor; public Dog(String name, String furColor) {
super(name);
furColor = this.furColor;
}}
package com.ch3;public class TestAnimal {
public static void main(String[] args){
TestAnimal test =new TestAnimal();
Cat cat=new Cat("catname","redEye");
test.f(cat);
}
public void f(Animal a){
System.out.println("Name:"+a.name);
if(a instanceof Cat){
Cat cat=(Cat)a;
System.out.println("EyeColor:"+cat.eyeColor);
}else if(a instanceof Dog){
Dog dog=(Dog)a;
System.out.println("FurColor:"+dog.furColor);
}
}
}
这是我在尚学堂看到老师的一个视频,然后模拟写了一个类似的,但是结果不是我想到的那种,结果是:
Name:null
EyeColor:null
我对了几遍,都看不出来,好郁闷啊!
解决方案 »
- 你们的jdk是什么版本,java 6 update 10以后的哪种比较稳定
- 服务器端nio的cpu 100%的疑问
- 关于事件侦听
- 通过url将ftp上的文件写入本地时出现了问题
- 怎么写一个文件服务器?
- 连接sqlseverDatabase问题,驱动程序出错(在线等待)
- 斑竹你出来说话!!!另外,各位,哪里有关于java 初级入门的好书呢?或是网址啊,有适合于初学者的sample的也可以!!!
- 我的JInternalFrame为什么不出来????45分!!!!!!!!!!!
- 卖身求解难题!!!!!
- java 中如何创建hashmap 的代理对象,或者,怎么观察hashmap的改变的前后状态
- 菜鸟提问
- 抽象类的对象可以调用抽象方法吗
public String name;
public Animal(String name){
name=this.name;
}
}
package com.ch3;public class Cat extends Animal {
public String eyeColor;
public Cat(String name,String eyeColor){
super(name);
this.eyeColor = eyeColor;
}
}
package com.ch3;public class Dog extends Animal {
public String furColor; public Dog(String name, String furColor) {
super(name);
this.furColor = furColor;
}}
package com.ch3;public class TestAnimal {
public static void main(String[] args){
TestAnimal test =new TestAnimal();
Cat cat=new Cat("catname","redEye");
test.f(cat);
}
public void f(Animal a){
System.out.println("Name:"+a.name);
if(a instanceof Cat){
Cat cat=(Cat)a;
System.out.println("EyeColor:"+cat.eyeColor);
}else if(a instanceof Dog){
Dog dog=(Dog)a;
System.out.println("FurColor:"+dog.furColor);
}
}
}
所以应该把
public Animal(String name){
name=this.name;
}
该为
public Animal(String name){
this.name=name;
}
子类相同.