Javaの抽象クラスと抽象関数

1305 ワード

主な内容1.抽象関数の文法的特徴2.抽象クラスの文法的特徴.3.抽象類の役割対象に向かってとても役に立つものがあって、まず抽象的で、それから具体的です.抽象的には間違いが起こりにくいからです
問1:抽象関数とは関数の定義のみであり,関数体のない関数を抽象関数と呼ぶ.abstract void fun();
問2抽象クラスとはabstractで定義されたクラスを抽象クラスと呼ぶ.1.抽象クラスはオブジェクトを生成することができない.2.あるクラスに抽象関数が含まれている場合、このクラスは抽象クラスとして宣言する必要がある.3.一つのクラスに抽象関数がない場合、これらは抽象クラスとして宣言することもできる.
抽象クラスには構造関数がありますか?条件:1.抽象クラスはオブジェクトを生成できない.2.コンストラクション関数はクラスのオブジェクトを生成するために用いる.結論:この片面の2点から見ると、抽象類には構造関数がない.でも抽象クラスには構造関数があり、この構造はサブクラスに奉仕する.
知識を横に並べて、一つの目的のために重複コードを減らす.
まとめ1.抽象関数は関数体のない関数である.2.抽象クラスはabstraceで定義.3.抽象クラスはオブジェクトを生成することはできないが、構造関数を持つことができる.この構造関数はサブクラスのために用意する.abstract class Person23{ String name; int age; Person23(){ System.out.println("person "); } Person23(String name ,int age){ this.name = name; this.age = age; } void introduce(){ System.out.println(" " +name+age); } abstract void eat(); } // . //abstract class Chinese extends Person23{ // //} // . class Chinese extends Person23{ Chinese(){ System.out.println("chinese "); } Chinese(Sting name,int age ,String address){ super(name,age); this.address = address; } void eat(){ System.out.println(" "); } } class TestChinese{ public static void main(String args[]){ Person23 p = new Chinese(); p.eat(); } }