ホームページ > Java > &#&チュートリアル > Java ではなぜ抽象静的メソッドが違法なのでしょうか?

Java ではなぜ抽象静的メソッドが違法なのでしょうか?

Susan Sarandon
リリース: 2024-12-16 15:51:14
オリジナル
619 人が閲覧しました

Why are Abstract Static Methods Illegal in Java?

Java における抽象静的メソッドの除外について

Java では、通常、抽象メソッドは実装するサブクラスのコントラクトを定義します。ただし、「抽象」の概念は「静的」メソッドの性質と矛盾します。

静的メソッドは、特定のオブジェクトではなくクラス自体にバインドされており、クラスのインスタンスを必要とせずに実行されます。 。この固有の機能は抽象原則と矛盾しており、実装が欠如していることを意味します。

次の例を考えてみましょう:

abstract class foo {
    abstract void bar( ); // Legal
    abstract static void bar2(); // Illegal
}
ログイン後にコピー

この例では、bar() メソッドは抽象メソッドであり、次のことを示しています。サブクラスで実装する必要があります。ただし、bar2() メソッドは抽象メソッドと静的メソッドの両方としてマークされます。この組み合わせは次の理由から許可されません:

  • 「抽象」は実装を意味しません: 抽象メソッドにはコードがなく、機能を定義するためにサブクラスが必要です。
  • 「静的」とは固有の機能を意味します: 静的メソッドにはコードがあり、インスタンス化せずに呼び出すことができます。 object.

抽象メソッドはコードを持つことができないため、静的メソッドが暗黙的に示す機能と矛盾します。この論理矛盾により、Java での抽象静的メソッドの宣言が妨げられます。

以上がJava ではなぜ抽象静的メソッドが違法なのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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