Java 方法声明与成员类型声明详解
1. 方法隐藏(Hiding)
在 Java 中,方法隐藏是一个重要的概念。当一个类 C 声明或继承一个静态方法 m 时,如果 m 的签名是其超类或超接口中某个方法 m' 签名的子签名,那么 m 就会隐藏 m' 。需要注意的是,静态方法隐藏实例方法会导致编译时错误。
隐藏的方法可以通过限定名称、包含 super 关键字的方法调用表达式或强制转换为超类类型来访问。下面是一个方法隐藏的示例代码:
class Super {
static String greeting() { return "Goodnight"; }
String name() { return "Richard"; }
}
class Sub extends Super {
static String greeting() { return "Hello"; }
String name() { return "Dick"; }
}
class Test {
public static void main(String[] args) {
Super s = new Sub();
System.out.println(s.greeting() + ", " + s.name());
}
}
超级会员免费看
订阅专栏 解锁全文
823

被折叠的 条评论
为什么被折叠?



