gpt4 book ai didi

Java外部类扩展静态内部类

转载 作者:行者123 更新时间:2023-12-01 18:02:45 26 4
gpt4 key购买 nike

这是允许的:

public class Outer {
public static class Inner extends Outer { }
}

但这不是:

public class Outer extends Inner {
public static class Inner { }
}

在第二种情况下,编译器提示 Cyclic inheritance involving package.Outer 。我没有看到任何涉及的循环;为什么第二种情况无效?

无论 Inner 是 class,其行为都是相同的, abstract class ,或interface .

该用例用于递归数据结构——符号命名空间。基本上,我想要 Namespace extends Namespace.Member 的命名结构, MyDataChunk extends Namespace.Member ;每个Namespace会像 String 的 map 一样至Namespace.Member ,从而允许向下递归 Namespace 的多个级别以 MyDataChunk 终止.

最佳答案

I don't see any cycles involved

我认为:Outer 无法扩展 Outer.Inner 如果它不存在。为了使 Outer.Inner 存在,Outer 必须存在。这是第 22 条军规,即循环依赖。

关于Java外部类扩展静态内部类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39454583/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com