...そのスーパークラスのコンストラクター(たとえば、A、およびB(BはAを拡張します))がインスタンス化されることが知られています...
クラスはインスタンス化されます。コンストラクターが呼び出されます。
(編集で、これは「オブジェクトがインスタンス化される」べきであることが提案されましたが、これは技術的に正しくありません。以下にリンクされている同じ JLS セクションによると、「新しいクラス インスタンスは、クラス インスタンス作成式の評価時に明示的に作成されます。つまり、オブジェクトを取得するためにクラスをインスタンス化します。オブジェクトはインスタンスです。オブジェクトをインスタンス化しません。)
1) A のインスタンス、B のインスタンス、および C のインスタンスに個別のメモリが割り当てられていますか?
いいえ、クラスのインスタンスがあります。つまり、思い出の一枚。
2) サブクラス C のインスタンスの場合、それ自体のフィールドに加えて、B および A から継承されたフィールドに割り当てられたすべての物理メモリがありますか?
はい:「新しいクラスインスタンスが作成されるたびに、クラスタイプで宣言されたすべてのインスタンス変数と、クラスタイプの各スーパークラスで宣言されたすべてのインスタンス変数のためのスペースを備えたメモリスペースが割り当てられます。隠される。」
3) B のインスタンスは、自身のフィールドに加えて、A から継承されたフィールドの物理メモリを持っていますか?
1 のとおり、このシナリオには「B のインスタンス」はありません。1 つのインスタンスのみがあります。
出典: 12.5. 新しいクラス インスタンスの作成、JLS 7