ホームページ  >  記事  >  Java  >  Java 抽象クラスとインターフェイス インスタンスの分析

Java 抽象クラスとインターフェイス インスタンスの分析

王林
王林転載
2023-04-30 11:40:061324ブラウズ

1. 抽象クラス

1.1 抽象クラスの概念

オブジェクトがクラスを通じて記述されることは誰もが知っていますが、すべてのクラスがオブジェクトの記述に使用されるという意味ではありません

特定のオブジェクトを説明するのに十分な情報がクラスにありません。これは抽象クラスです。

抽象クラスのキーワード: abstract

1.2 抽象メソッド

まず第一に、以前に作成したクラスを見てみましょう:

class Plant {
    String name;
    String source;
    String genus;
    public void trait() {
        System.out.println("父类方法");
    }
}
class Tree extends Plant {
    @Override
    public void trait() {
        System.out.println("子类方法");
    }
}

特性メソッドはオーバーライドされたメソッドであるため、親クラスの特性を実装する必要はまったくなく、変更できます。

注: 抽象クラスに抽象メソッドを含めることはできませんが、抽象メソッドは抽象クラス内に存在する必要があります

abstract class Plant {
    String name;
    String source;
    String genus;
    public abstract void trait();
}
class Tree extends Plant {
    @Override
    public void trait() {
        System.out.println("子类方法");
    }
}

Java 抽象クラスとインターフェイス インスタンスの分析

1.3抽象クラスの詳細

1. 抽象クラスは継承を前提としているためインスタンス化できません。それ以外は通常のクラスと変わりません。

2.抽象クラス内の抽象メソッド。ただし、抽象メソッドはクラス内にある必要があります。

3. 通常のクラスが抽象クラスを継承する場合、抽象クラスのすべての抽象メソッドをオーバーライドする必要があります

4抽象クラスは抽象クラスを継承でき、現時点では抽象メソッドをオーバーライドする必要はありません。

5.Final は抽象クラスと抽象メソッドを変更できません

6.抽象メソッドは変更できません########################################################################################################################一部の人はそれを奇妙に思うかもしれません: 通常のクラスは親としても使用できますクラスは継承されます。なぜ別の抽象クラスを作成する必要があるのでしょうか?

次のように、オブジェクトをインスタンス化するときに親クラス オブジェクトをインスタンス化するというシナリオを想定することもできます。

public static void main(String[] args) {
        Plant tree=new Plant();
        tree.trait();
    }

親クラスが通常のクラスの場合、コンパイラはエラーを報告しません。この時点でエラーが発生した場合は、親クラスのメソッドを直接呼び出してください。

親クラスが抽象クラスの場合、抽象クラスはインスタンス化できないため、コンパイラは直接エラーを報告するため、問題は次のとおりです。以前に発見されました

2 .インターフェイス

2.1 インターフェイスの概念

いわゆるインターフェイスは公的行動規範です。たとえば、A4 用紙、A4 用紙のサイズは210mm*297mm の場合、この仕様に従ってのみ作業を進めることができます。 Production

Java では、インターフェイスは参照型 data

Interface である複数のクラスの公開仕様とみなすことができます。キーワード: インターフェイス

2.2 インターフェイスの詳細

インターフェイスにも注意すべき点がいくつかあります:

1. インターフェイスは他のクラスによって実装されるためにも使用され、インスタンス化することはできません.

2. インターフェイス内のメソッドのみ 抽象メソッドにすることができ、デフォルトは public staticmodification

3. インターフェイスのメンバー変数はデフォルトでは静的定数であるため、初期化する必要があります

4. インターフェイスの実装に使用されるキーワードは、implements, class です。インターフェイスを実装するには、インターフェイスのすべての抽象メソッドを書き直す必要があります。

#5. インターフェイスはできません。コンストラクターと静的コード ブロックが含まれます

6。インターフェイスは extends を使用してインターフェイスを継承します。

7。インターフェイスを作成するとき、インターフェイスの名前は通常、大文字の「I」で始まります (推奨) 、難しい要件ではありません)

8. インターフェイスはポリモーフィックにすることもできます

Java で最も重要なインターフェイス機能は多重継承を実現することです

Java のクラスは、次のことしか行うことができません。 1 つの親クラスを継承しますが、複数のインターフェイスを実装できます。

抽象クラスとインターフェイスには類似点がありますが、それらの最も一般的な違いは、抽象クラスが通常のメンバー メソッドと通常のメンバー変数を持つことができることです。一方、インターフェイス内のメソッドは抽象メソッドのみにすることができます

抽象クラスとインターフェイスの紹介に続いて、次の記事では Java インターフェイスのより重要なものをいくつか紹介します

以上がJava 抽象クラスとインターフェイス インスタンスの分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。