版权声明:如需转载请标明出处 https://blog.csdn.net/yj201711/article/details/84142912
class A {
private int a = 10;
public String show(D obj) { //
System.out.println(a);
return ("A and D");
}
public String show(A obj) {
return ("A and A");
}
}
class B extends A{ //
public String show(B obj){ //B类中特有的方法
return ("B and B");
}
@Override
public String show(A obj){ //对类A 中的方法的重写
return ("B and A");
}
}
class C extends B{
}
class D extends B{
}
public class Test {
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("1--" + a1.show(b)); //1--A and A
System.out.println("2--" + a1.show(c)); //2--A and A
System.out.println("3--" + a1.show(d)); //3-- A and D
System.out.println("4--" + a2.show(b)); //4-- B and A
System.out.println("5--" + a2.show(c)); //5-- B and A
System.out.println("6--" + a2.show(d)); //6-- A and D
System.out.println("7--" + b.show(b)); //7-- B and B
System.out.println("8--" + b.show(c)); //8-- B and B
System.out.println("9--" + b.show(d)); //9-- A and D
}
}