【发布时间】:2011-03-25 18:42:01
【问题描述】:
正如here 所解释的那样,在java 中静态方法不会被子实现覆盖而是隐藏
这意味着您不能对它们使用@Override 注释
以下代码
@Override
public static void test(String value1, String value2) {
给出此编译器错误。
The method test(String, String) of type Child must override or implement a supertype method Child.java
是否有一些等效的注释可以用来确保我的类“隐藏”父类的现有静态方法?
【问题讨论】:
-
出于好奇,您想通过隐藏超类静态方法来实现什么?
-
我正在玩游戏框架,它使用静态方法进行控制器操作(有一个关于为此目的使用静态方法的完整论点)我定义了一个基本控制器,我想在一个孩子上覆盖该方法控制器...
-
真的不要那样做。我想它应该被 linted 并且(不)适当的注释是
@SuppressWarnings。
标签: java inheritance static overriding