我们有一个类似于这个的类层次结构:publicclassTestDereference{privatestaticMainInterfacemi=newMainInterfaceImpl();publicstaticvoidmain(String[]args){System.out.println(mi.getSubInterface().getField());}}interfaceMainInterface{TgetSubInterface();}interfaceSubInterface{FieldgetField();}classField{@OverridepublicStr
我在Eclipse中开发了一些代码,测试成功,将其推送到我们的JenkinsCI服务器,并收到一封电子邮件,说Maven因Java编译错误而窒息。我随后隔离了问题并创建了以下显示问题的最小示例:importjava.util.List;importjava.util.function.Function;classMinimalTypeFailureExample{publicstaticvoidmain(String[]args){ListoriginalList=null;//irrelevantListresultList=transform(originalList,outer-
interfaceA{publicvoiddoSomething();}interfaceBextendsA{publicvoiddoSomethingElse();}publicclassAClassimplementsA,B{publicvoiddoSomething(){}publicvoiddoSomethingElse(){}}为什么Java允许这样的声明?当通过实现子接口(interface)(B)可以实现相同的目的时,实现这两个接口(interface)有什么用? 最佳答案 我认为“为什么”这个问题只能由Java设计人