方法隐藏
一个类从其超类继承所有非私有静态方法。在子类中重新定义继承的静态方法称为方法隐藏。子类中的重定义静态方法隐藏其超类的静态方法。在类中重定义非静态方法称为方法覆盖。
关于方法隐藏的重定义方法(名称,访问级别,返回类型和异常)的所有规则与方法覆盖相同。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
class MySuper {
public static void print() {
System.out.println( "Inside MySuper.print()" );
}
} class MySubclass extends MySuper {
public static void print() {
System.out.println( "Inside MySubclass.print()" );
}
} public class Main {
public static void main(String[] args) {
MySuper mhSuper = new MySubclass();
MySubclass mhSub = new MySubclass();
MySuper.print();
MySubclass.print();
((MySuper) mhSub).print();
mhSuper = mhSub;
mhSuper.print();
((MySubclass) mhSuper).print();
}
} |
上面的代码生成以下结果。