クラスには、メンバー変数とメソッドという 2 つの重要なメンバーがあります。サブクラスのメンバーの一部はサブクラス自体によって宣言および定義されますが、その他のメンバーは親クラスから継承されます。サブクラスは、あたかもサブクラス内で直接宣言されたかのように、親クラスのメンバー変数を独自のメンバー変数の 1 つとして継承し、サブクラス内で定義された任意のインスタンス メソッドで操作できます。サブクラスは、メソッドがサブクラスで直接定義されているかのように、親クラスのメソッドを独自のメソッドの 1 つとして継承し、サブクラスで定義されているインスタンス メソッドから呼び出すことができます。
同じパッケージ内のサブクラスと親クラス間の継承:
サブクラスと親クラスが同じパッケージ内にある場合、サブクラスは親クラスの非プライベート メンバー変数を独自のメンバー変数として自然に継承し、親クラスの非プライベート メソッドも独自のメンバー変数として自然に継承します。 . メソッド、継承されたメンバー変数、またはメソッドへのアクセスは変更されません。
サブクラスと親クラスが同じパッケージ内にない場合の継承:
サブクラスと親クラスが同じパッケージ内にない場合、親クラスのプライベートおよびフレンドリー アクセスのメンバー変数はサブクラスに継承されません。つまり、サブクラスは、保護されたパブリック アクセスのメンバー変数とメソッドのみを継承します。親クラスをメンバー変数およびサブクラスのメソッドとして使用します。
保護されたものについての詳しい説明:
たとえば、クラス A の保護されたメンバー変数とメソッドは、その子孫クラスに継承できます。B が A のサブクラス、C が B のサブクラス、D が C のサブクラスである場合、クラス B、C、および D はすべて、クラス A の Protected メンバー変数とメソッドを継承します。
D クラスを使用して D 自体でオブジェクトを作成した場合、そのオブジェクトは、「.」演算子を介して常に継承または自己定義の保護された変数および保護されたメソッドにアクセスできます。ただし、それが他のオブジェクト オブジェクトなどの別のクラスにある場合は、クラス内のクラス D を使用して作成され、「.」演算子を通じて保護された変数および保護されたメソッドにアクセスするためのこのオブジェクトの権限は次のとおりです。
1. サブクラス D 自体によって宣言された保護されたメンバー変数およびメソッドについては、Other クラスと D クラスが同じパッケージ内にある限り、オブジェクト オブジェクトはこれらの保護されたメンバー変数およびメソッドにアクセスできます。
2. サブクラス D が親クラスから継承する保護されたメンバー変数または保護されたメソッドについては、これらの保護されたメンバー変数またはメソッドが配置されている「祖先」クラスまで遡る必要があります。たとえば、クラス A などです。 Other クラスとクラス A が同じ package 内にある限り、オブジェクト オブジェクトは継承された保護された変数および保護されたメソッドにアクセスできます。