class A{ public String f(D obj){return ("A and D");} public String f(A obj){return ("A and A");} } class B extends A{ public String f(B obj){return ("B and B");} public String f(A obj){return ("B and A");} } class C extends B{} class D extends B{} public class testJava{ public static void main(String[] args){ A a1 = new A(); A a2 = new B(); B b = new B(); C c = new C(); D d = new D(); System.out.println(a1.f(a1)); System.out.println(a1.f(b)); System.out.println(a1.f(c)); System.out.println(a1.f(d)); System.out.println(a2.f(a1)); System.out.println(a2.f(b)); System.out.println(a2.f(c)); System.out.println(a2.f(d)); System.out.println(b.f(a1)); System.out.println(b.f(b)); System.out.println(b.f(c)); System.out.println(b.f(d)); } }
class Animal{ //多态练习 public String name;
Animal(String name){ this.name=name; }
public void enjoy(){ System.out.println("叫声"); } }class Bird extends Animal{ public String furcolor;
public String f(D obj){return ("A and D");}
public String f(A obj){return ("A and A");}
}
class B extends A{
public String f(B obj){return ("B and B");}
public String f(A obj){return ("B and A");}
}
class C extends B{}
class D extends B{}
public class testJava{
public static void main(String[] args){
A a1 = new A();
A a2 = new B();
B b = new B();
C c = new C();
D d = new D();
System.out.println(a1.f(a1));
System.out.println(a1.f(b));
System.out.println(a1.f(c));
System.out.println(a1.f(d));
System.out.println(a2.f(a1));
System.out.println(a2.f(b));
System.out.println(a2.f(c));
System.out.println(a2.f(d));
System.out.println(b.f(a1));
System.out.println(b.f(b));
System.out.println(b.f(c));
System.out.println(b.f(d));
}
}
class Animal{ //多态练习
public String name;
Animal(String name){
this.name=name;
}
public void enjoy(){
System.out.println("叫声");
}
}class Bird extends Animal{
public String furcolor;
Bird(String name,String furcolor){
super(name);
this.furcolor=furcolor;
}
public void enjoy(){
System.out.println("啾啾啾......");
}
}class Rabbit extends Animal{
public String furcolor;
Rabbit(String name,String furcolor){
super(name);
this.furcolor=furcolor;
}
public void enjoy(){
System.out.println("兔子叫声......");
}
}class Lady {
public String location,name;
public Animal pet;
public Lady(String name,String location,Animal pet){
this.pet=pet;
this.name=name;
this.location=location;
}
public void mypetenjoy(){
pet.enjoy();
}
}public class testLady{
public static void main(String args[]){
Bird b=new Bird("黄鹂","黄色羽毛");
Rabbit r=new Rabbit("白色","红色眼睛");
Lady l1=new Lady("小雨","北京",b);
Lady l2=new Lady("宇轩","杭州",r);
l1.mypetenjoy();
l2.mypetenjoy();
} }这里有个实例,楼主可以看看...