【发布时间】:2014-11-12 11:59:55
【问题描述】:
我有以下程序,但它不会编译:
public class A {
public void method() {
System.out.println ("bla");
}
}
class AX extends A {
public void method(int a) {
System.out.println ("Blabla");
}
public static void main(String[] args) {
A a2 = new AX();
a2.method(5);
}
}
为什么 a2.method(5) 不使用 subclasses 方法?这个方法是不是重载了?
【问题讨论】:
-
a2.method(5)将肯定调用子类的方法,因为A中没有匹配签名的方法。 -
对象 A 不知道方法(int)是谁。 . .
-
不会调用
AX的方法。a2仅对A类中的方法可见。
标签: java inheritance polymorphism overloading