ホームページ > Java > &#&チュートリアル > Java サブクラスは静的メソッドを継承しますか?

Java サブクラスは静的メソッドを継承しますか?

Patricia Arquette
リリース: 2024-12-11 06:15:09
オリジナル
589 人が閲覧しました

Do Java Subclasses Inherit Static Methods?

Java における静的メソッドの継承: 本書の説明の明確化

静的メソッドは継承されないという書籍の主張にもかかわらず、Java ではサブクラスが許可されています静的メソッドを含むすべてのアクセス可能なメソッドを継承します。質問で示されている例は、静的メソッド display() がスーパーを使用せずにサブクラス B でアクセスできるため、この動作を例示しています。

この継承は、Java 継承の基本的な規則に基づいています。サブクラスは、そのスーパークラスのパブリック、プロテクト、および (同じパッケージ内の) パッケージプライベート メンバーをすべて継承します。違いは、静的メソッドと非静的メソッドがサブクラスで新しく定義されたメソッドとどのように対話するかにあります。

サブクラスが継承されたメソッドと同じシグネチャを持つ新しい非静的メソッドを定義すると、そのメソッドは親のメソッドをオーバーライドします。ただし、静的メソッドの場合、サブクラスで新しいメソッドを定義すると、親のメソッドが非表示になるだけです。これは、静的メソッドはクラス自体にバインドされているのに対し、非静的メソッドはクラスのインスタンスに関連付けられているためです。

したがって、この本の説明は主に非静的メソッドに関係しており、非静的メソッドはそのメソッドに従ってアクセシビリティを継承します。宣言された可視性 (パブリック、プロテクト、またはパッケージプライベート)。一方、静的メソッドはより広範な継承規則に従い、アクセス可能な限りサブクラスで使用できます。

以上がJava サブクラスは静的メソッドを継承しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート