【发布时间】:2018-06-18 09:43:03
【问题描述】:
我在某处读到覆盖 static 方法不能 被视为多态性。只是隐藏方法。 “隐藏”是什么意思?
public class TesterClass {
public static void main(String[] args) {
ClassLetters.staticM();
ClassA.staticM();
ClassLetters Lettersobj = new ClassA();
ClassA Aobj = new ClassA();
Lettersobj.staticM();
Aobj.staticM();
ClassA aa = (ClassA) Lettersobj;
aa.staticM();
}
}
输出:
Static Method Called in CLassLetters
Static Method Called in ClassA
Static Method Called in CLassLetters
Static Method Called in ClassA
Static Method Called in ClassA
classA 继承 ClassLetters 和相同的 static void classM。为什么不是多态?
【问题讨论】:
-
你能提供一个minimal reproducible example吗?请包括完整的代码,包括类。
标签: java polymorphism overriding static-methods