我很好奇(如果?)嵌套嵌套类应该如何工作。
Eclipse Oxygen.3并未提及“对象团队”,但是我认为以下代码示例了一些反模式,因为我看不到嵌套嵌套类的业务需求。
public class CACCIData {
...
public CompanySearchResultsResult.CompanySearchResult mcCompanySearchResult = null;
public static class CompanySearchResultsResult {
public List<CompanySearchResult> CompanySearchResult
= new ArrayList<CompanySearchResult>();
public static class CompanySearchResult {
// ...
}
}
Eclipse 2018-12编译错误:'CACCIData$CompanySearchResultsResult' cannot be used as type anchor for an externalized role: is not a team (OTJLD 1.2.2(b)).
答案 0 :(得分:1)
双重嵌套的类在语法上是有效的。以下代码可以正常工作并打印出可预测的逻辑输出:
public class Test {
public static void main(String[] args) {
new A().testPrintA();
}
public static class A {
public void testPrintA() {
System.out.println("Works from A.");
new B().testPrintB();
}
public static class B {
public void testPrintB() {System.out.println("Works from B.");}
}
}
}
现在站在“您应该使用它”的一面...这是有根据的,但是我相信这种构造提供最佳解决方案的机会不会太多。