Inner 和 Subclass 在创建上的区别

Difference in creation between Inner and Subclass

我注意到要制作 Inner class 我们需要 Outer class 的实例。但是为了创建 Subclass,我们还需要 Parent class 来创建实例。

它们之间有什么区别?严格来说是 创作 而不是 它们的工作方式 。我可以想象一下吗:有 Parent 对象,里面是 Child 对象,和 Inner 一样class 对象在堆中的 Outer class 的对象内?我离这个很近吗?

也许一个picture/analogy来表示这两个关系:

即:

  • janeDoe subclass 实例只是一个对象,但它在一个实例中是两种类型。
  • johnDoe,内部 class 实例,不同于 janeDoe,外部 class 实例。他们的关系非常密切link,并且他们之间知道如何使用彼此。