类型转换问题

来源:10-1 Java 中的多态

benyl123

2016-10-31 20:20

父类:
package cn.edu.aufe.demol2;

public class Animal {
	public void eat(){
		System.out.println("动物具有吃的能力");
	}
}
子类:
package cn.edu.aufe.demol2;

import cn.edu.aufe.demol.Animal;

public class Dog extends Animal {
	public void eat(){
		System.out.println("狗具有吃的能力");
	}
}
main()函数:
package cn.edu.aufe.demol2;

public class Initial {


	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		Animal obj1=new Animal();
		Animal obj2=new Dog();
		
	}

}

但是在编写Animal obj2=new Dog()的时候,编译器总是报错,让我把写成Dog obj2=new Dog();但我认为我写的没错啊

写回答 关注

1回答

  • benyl123
    2016-10-31 20:22:49

    我知道是什么问题了,sorry,应该要把子类Dog类的import那段代码注释掉,即

    package cn.edu.aufe.demol2;
    
    //import cn.edu.aufe.demol.Animal;
    
    public class Dog extends Animal {
    	public void eat(){
    		System.out.println("狗具有吃的能力");
    	}
    }


Java入门第二季 升级版

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

530644 学习 · 6091 问题

查看课程

相似问题