每个内部类都需要一个封闭的实例吗?

每个内部类都需要一个封闭的实例吗?,第1张

每个内部类都需要一个封闭实例吗?

从规范的角度来看,问题中提出的区别是完全合理的:

  • 内部类具有对其施加的限制,这与封闭实例的问题无关(例如,它可能没有静态成员);

  • 静态嵌套类的概念基本上只是命名空间;这些类可以正确地称为 顶级类 ,以及我们通常认为的顶级类。

恰好发生这样的情况,即

static
从嵌套类声明中删除会同时做两件事:

  1. 它使类需要一个封闭的实例;
  2. 它使班级 内部化

我们很少将 内部 视为限制。我们只关注 包含实例的 关注点,这一点更加明显。但是,从规范的角度来看,这些限制是至关重要的。

我们缺少的是一个 需要封闭实例的类术语。JLS并没有定义这样的术语,因此我们(似乎没有意识到)劫持了一个相关的术语,但实际上是本质上不同的术语。



欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5131423.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-11-17
下一篇2022-11-17

发表评论

登录后才能评论

评论列表(0条)

    保存