搞了两年多java了,结果今天才发现,实在是羞愧得很呀
public class Test {
public static void main(String[] args) {
Test test=new Test();
A a=new B();
B b=(B)a;
test.a(b);
test.a(a);
C c=new D();
D d=(D)c;
test.c(c);
test.c(d);
}
public void a(A a){
System.out.println("a(A)");
}
public void a(B b){
System.out.println("a(B)");
}
public void c(C c){
System.out.println("c(C)");
}
public void c(D d){
System.out.println("c(D)");
}
}
class A{
}
class B extends A{
}
interface C{
}
class D implements C{
}
运行结果是:
a(B)
a(A)
c(C)
c(D)
怎么在继承关系上没有重载的概念呢?搞了两年多java了,今天才发现