したがって、パッケージAにVehicleという名前のクラスがあり、パッケージBにCarという名前のクラスがあります。ClassCarはVehicleを拡張するため、Vehicleから特定の要素を継承します。私の質問は、Carは何を継承するのですか?
すべてのパブリックメソッドと変数を継承していると思いますが、私の割り当てでは、パッケージアクセス権(パブリックではなく、プライベートではない)を持つ変数があるので、Vehicle in Carからすべての変数を再宣言する必要がありますか?また、equals()メソッドを使用してCarオブジェクトとVehicleオブジェクトを比較できるかどうかは明確ではありません。これは、変数が同じ名前であっても同じではないためです。また、コンストラクターCarでsuper()を使用しているのに、どうしてすべての変数を再宣言する必要があるのでしょうか。変数はVehicleで開始されていませんか?また、Vehicleからすべての変数を再宣言する必要があるので、Vehicleから継承するすべてのパブリックメソッドは完全に役に立たないのでしょうか。パッケージアクセス権変数のみを持つクラスから継承することのポイントは何ですか?