JAVA 多态

class A {
	public String show(D obj) {
		return ("a and d");
	}
	public String show(A obj){
		return "a and a";
	}
}
class B extends A{

	public String show(A obj){
		return "b and a";
	}	
	public String show(B obj){
		return "b and b";
	}
}
class C extends B{}
class D extends B{}
public class Test1{
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.show(b));
	System.out.println(a1.show(c));
	System.out.println(a1.show(d));
	System.out.println(a2.show(b));
	System.out.println(a2.show(c));
	System.out.println(a2.show(d));
	System.out.println(b.show(b));
	System.out.println(b.show(c));
	System.out.println(b.show(d));
}
}a and a
a and a
a and d
b and a
b and a
a and d
b and b
b and b
a and d


讲解

你可能感兴趣的:(Java)