代码分享:
import javax.xml.catalog.Catalog;
public class DuotaiTest {
public static void main(String[] args){
//func(new Animal());
//Error:(3, 9) java: 无法从静态上下文中引用非静态 方法 func(Animal)
DuotaiTest t=new DuotaiTest();
t.func(new Animal());
System.out.println("------");
t.func(new Dog());
System.out.println("---------");
t.func(new Cat());
}
public void func(Animal a){//Animal a=new Dog();
a.eat();
a.jump();
if(a instanceof Dog){
Dog d=(Dog) a;
//((Dog) a).wang();
d.wang();
}
if(a instanceof Cat){
Cat c=(Cat) a;
c.catchMouse();
}
if(a instanceof Animal){
System.out.println("大家都是动物");
}
}
public void show(){
func(new Animal());
}
}
class Animal{
String name;
int age;
public void eat(){
System.out.println("动物找吃的");
}
public void jump(){
System.out.println("动物跳跳糖");
}
}
class Dog extends Animal{
public void eat(){
System.out.println("狗吃骨头");
}
public void jump(){
System.out.println("狗急跳墙");
}
public void wang(){
System.out.println("小狗汪汪叫");
}
}
class Cat extends Animal{
public void eat(){
System.out.println("猫吃鱼");
}
public void jump(){
System.out.println("小猫爬墙");
}
public void catchMouse(){
System.out.println("小猫喵喵叫");
}
}
结果:
动物找吃的
动物跳跳糖
大家都是动物
------
狗吃骨头
狗急跳墙
小狗汪汪叫
大家都是动物
---------
猫吃鱼
小猫爬墙
小猫喵喵叫
大家都是动物


1259

被折叠的 条评论
为什么被折叠?



