方法隐藏
一个类从其超类继承所有非私有静态方法。在子类中重新定义继承的静态方法称为方法隐藏。子类中的重定义静态方法隐藏其超类的静态方法。在类中重定义非静态方法称为方法覆盖。
关于方法隐藏的重定义方法(名称,访问级别,返回类型和异常)的所有规则与方法覆盖相同。
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();
}
}
|
上面的代码生成以下结果。