В вашем примере
class MyClass {
private class InnerClass {
}
}
создание объекта MyClass не создает автоматически объект InnerClass, поэтому объект не может быть «всегда внутри внешнего объекта».Более того, вы можете создавать любое количество объектов InnerClass для каждого объекта MyClass, поэтому у объекта MyClass не может быть достаточно места для всех этих объектов.может использоваться, поэтому им нужна вся обычная информация, необходимая и для обычных объектов.
Таким образом, объекты InnerClass имеют такие же издержки, что и объекты обычных классов, и даже дополнительно одну ссылку больше (длястатические внутренние классы), поскольку каждый внутренний объект должен знать свой внешний объект.