Я читал о внутреннем классе в Learning Java. я нашел этот код
class Animal{
class Brain{
}
}
После компиляции javap 'Animal$Brain'
выводит как
Compiled from "Animal.java"class
Animal$Brain {
final Animal this$0;
Animal$Brain(Animal);
}
что объясняет, как внутренний класс получает ссылку на включающий его экземпляр в конструкторе внутреннего класса. Но когда я определяю внутренний класс как частный, как это
class Animal{
private class Brain{
}
}
затем после компиляции javap 'Animal$Brain'
выдает результат как
Compiled from "Animal.java"
class Animal$Brain {
final Animal this$0;
}
Так почему выход другой? Почему конструктор внутреннего класса не показан? В последнем случае также внутренний класс получает ссылку на экземпляр окружающего класса.
new Animal().new Brain();
извне). - person Rogue   schedule 23.12.2016