Внутренняя инстанция класса - PullRequest
6 голосов
/ 28 июня 2011

Внутренний класс называется членом внешнего класса.Означает ли это, что при создании объекта внешнего класса экземпляр внутреннего класса также создается неявно?

Ответы [ 3 ]

8 голосов
/ 28 июня 2011

Нет.Экземпляр внутреннего класса создается только при его создании.

Обратите внимание, что для конструктора внутреннего класса требуется экземпляр внешнего класса (хотя это маскируется компилятором).Это верно для нестатических вложенных классов.Статические вложенные классы могут создаваться без родительского экземпляра (поскольку они являются статическими)

3 голосов
/ 28 июня 2011

Существуют разные типы внутренних классов, каждый из которых действует по-разному.

  • Статические члены классов
  • Классы участников
  • Местные классы
  • Анонимные классы

Хороший обзор всех из них вы можете найти здесь: http://www.javaworld.com/javaworld/javaqa/2000-03/02-qa-innerclass.html

0 голосов
/ 28 июня 2011

Это означает, что вам нужен экземпляр внешнего класса, прежде чем вы сможете получить экземпляр внутреннего класса

...