是什么版本的JAVA计划实现覆盖静态方法的可能性?
这一年会是什么时候?
如何在JAVA8中实现类似的功能?
是否有一些oracle JVM的破解?
是否有其他虚拟机或编译器能够覆盖静态方法?
P.S.2:
所以,正如我所看到的,java中的单词“static”非常混乱,所以我现在指出我的问题:
我真正想要的是,类的方法,(如果你将它们命名为“静态方法”,“类方法”或其他任何内容,则无关紧要。)
答案 0 :(得分:1)
这就是为什么很多人认为静态是一个好的OOP的异常:杀死多态(除了引入紧耦合)你的班级之间。)
因此,简单的答案是:覆盖和静态不能一起使用。不是8或9之前的Java版本;并且最有可能:也从未在未来 - 我不知道任何计划/项目/ JCP来改变它。
从这个意义上说,唯一的答案是:干脆避免使用它。
如果有的话,你把它放在“自包含”的小辅助方法上(意味着它们做了一些在单元测试环境中工作正常的简单功能)。只要 static 能够轻松地对代码进行单元测试,您就会走错路。
当您在遗留代码中找到 static 时,您必须处理 - 然后考虑为底层功能定义一个接口,以便您可以将代码与实际静态方法分离。