本帖最后由 ☆星痕泪 于 2013-9-24 20:58 编辑
- class DuoTaiDemo1
- {
- public static void main(String[] args)
- {
- Animal a = new Cat();
- Animal a = new Dog();
- //function(new Cat());
- //function(new Dog());
- }
- public static void function(Animal a)//封装调用的方法
- {
- a.eat();
- a.sleep();//这里不能放在if和else if之间,否则会报错
- if(a instanceof Cat)//进行判断
- {
- Cat c = (Cat)a;//强制向下转型
- c.run();
- //a.run();这个是不行的,因为引用a为父类引用
- }
- //a.sleep();这里不能放在if和else if之间,否则会报错
- else if(a instanceof Dog)
- {
- Dog d = (Dog)a;
- d.kanJia();
- }
- }
- }
复制代码 问题就是图片中的为什么建立调用匿名对象的方法和建立子类对象的引用结果不同呢?
|
|