Java代码:
class P {
public void hello() {}
}
class C extends P {
public void hello(String s) {}
}
我的问题是:超类中的同一个hello
类是否C
重载P
?
我的朋友说他们不是因为他们不在同一个班级。
采用更正式的方法,Java 7的Java语言规范指出:
如果一个类的两个方法(都是在同一个类中声明的,还是都由一个类继承的,或者一个声明且是一个继承的)的名称相同,但签名不是等效的,则称该方法名称为超载。
http://docs.oracle.com/javase/specs/jls/se7/html/jls-8.html#jls-8.4.9
我会将您的朋友指向此链接。
简而言之,在您的示例中,hello方法确实已重载。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句