トップダウンの継承階層では、上位レベルにあるクラスはより一般的であり、さらに抽象的である可能性があります。特定の観点から、先祖のクラスはより一般的であり、最も基本的なメンバーの一部のみを含むだけで、人々は他のクラスを導き出すための基本クラスとしてのみ使用し、オブジェクトを作成するために使用されません。さらに、メソッドを実装せずにのみ定義することができ、サブクラスは特定のニーズに応じてそれを実装することができます。
メソッド定義のみを提供するが、具体的には抽象的なメソッドがあり、コードの表現には「{}」がありません。 1つ以上の抽象的なメソッドを含むクラスも、抽象クラスとして宣言する必要があります。
抽象修飾子を使用して、抽象的なメソッドと抽象クラスを表します。
抽象的なメソッドを含めることに加えて、抽象クラスには特定の変数と特定の方法も含めることができます。クラスに抽象的なメソッドが含まれていなくても、インスタンス化されないように抽象クラスとして宣言できます。
抽象クラスはインスタンス化することはできません。抽象的なメソッドはサブクラスに実装する必要があります。次のコードをご覧ください。
static java.lang.system。ドライバーd = d.setname( "xiao chen"); void setname(string name){this.name = name} public string getname(){return this.name; public void work(){out.println( "私の名前は" + this.getName() + "、講義をしています。 //このメソッドはpublic void work(){out.println( " + this.getName() +"、私は運転しているので、電話に出ません...}};
実行結果:
私の名前はワンミンです、私は講義をしています、周りを見回さないでください...私の名前はXiao Chenです、私は運転していて、電話に出ることができません...
抽象クラスに関するいくつかの説明:
抽象クラスは、サブクラスを使用して抽象クラスを実装し、サブクラスのインスタンスを使用する必要があります。ただし、そのタイプが抽象クラスである変数を作成し、具体的なサブクラスのインスタンスを指しています。つまり、抽象クラスは正式なパラメーターとして使用できます。 、つまり、多型の適用。
抽象的な構築方法や抽象的な静的方法はありません。
次の場合、クラスは抽象クラスになります。
クラスの1つ以上の方法が抽象的な方法である場合。
クラスが抽象クラスのサブクラスであり、抽象的なメソッドに実装の詳細またはメソッド本体を提供できない場合。
クラスがインターフェイスを実装し、抽象的なメソッドの実装の詳細またはメソッド本体を提供できない場合。
ここで私たちが話しているのは、これらの場合にクラスが抽象的なクラスになることであり、抽象クラスが間違いなくこれらの状況を持っているとは言われていません。
典型的なエラー:抽象クラスには抽象的なメソッドが含まれている必要があります。 しかし、一方で、「抽象的なメソッドを含むクラスは抽象クラスでなければならない」は正しいです。
実際、抽象クラスは完全に普通のクラスになる可能性があります