Java 继承中的方法隐藏、字段隐藏、禁用继承及抽象类和方法详解
1. 方法隐藏(Method Hiding)
在 Java 中,一个类会继承其超类的所有非私有静态方法。当在一个类中重新定义一个继承来的静态方法时,这被称为方法隐藏。子类中重新定义的静态方法会隐藏其超类的静态方法。而重新定义非静态方法则被称为方法重写。
以下是相关代码示例:
// MHidingSuper.java
package com.jdojo.inheritance;
public class MHidingSuper {
public static void print() {
System.out.println("Inside MHidingSuper.print()");
}
}
// MHidingSub.java
package com.jdojo.inheritance;
public class MHidingSub extends MHidingSuper {
public static void print() {
System.out.println("Inside MHidingSub.print()");
}
}
方法隐藏时,重新定义的方法在名称、访问级别、返回类型和异常等方面的规则与方法重写相同。但方法隐藏的绑定规则不同,静态方法使用早期绑定。编译器会根据表达式的编译时类型来确定在运行时调用静态方法时执行的代码。
以下是测试代码:
超级会员免费看
订阅专栏 解锁全文
731

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



