オブジェクトがクラスを通じて記述されることは誰もが知っていますが、すべてのクラスがオブジェクトの記述に使用されるという意味ではありません
特定のオブジェクトを説明するのに十分な情報がクラスにありません。これは抽象クラスです。
抽象クラスのキーワード: abstract
まず第一に、以前に作成したクラスを見てみましょう:
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("子类方法"); } }
1. 抽象クラスは継承を前提としているためインスタンス化できません。それ以外は通常のクラスと変わりません。
2.抽象クラス内の抽象メソッド。ただし、抽象メソッドはクラス内にある必要があります。
3. 通常のクラスが抽象クラスを継承する場合、抽象クラスのすべての抽象メソッドをオーバーライドする必要があります
4抽象クラスは抽象クラスを継承でき、現時点では抽象メソッドをオーバーライドする必要はありません。
5.Final は抽象クラスと抽象メソッドを変更できません
6.抽象メソッドは変更できません########################################################################################################################一部の人はそれを奇妙に思うかもしれません: 通常のクラスは親としても使用できますクラスは継承されます。なぜ別の抽象クラスを作成する必要があるのでしょうか?
次のように、オブジェクトをインスタンス化するときに親クラス オブジェクトをインスタンス化するというシナリオを想定することもできます。
public static void main(String[] args) { Plant tree=new Plant(); tree.trait(); }
親クラスが通常のクラスの場合、コンパイラはエラーを報告しません。この時点でエラーが発生した場合は、親クラスのメソッドを直接呼び出してください。
親クラスが抽象クラスの場合、抽象クラスはインスタンス化できないため、コンパイラは直接エラーを報告するため、問題は次のとおりです。以前に発見されました
2 .インターフェイス
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 サイトの他の関連記事を参照してください。