Java 言語では、abstract キーワードを使用してクラスを変更する場合、そのクラスは抽象クラスと呼ばれます。抽象クラスは、そのすべてのサブクラスのパブリック属性のコレクションと、1 つ以上の抽象メソッドを含むクラスです。
#抽象クラスは、クラスをさらに抽象化したものとみなすことができます。オブジェクト指向の分野では、抽象クラスは主に型の隠蔽に使用されます。
抽象メソッド (推奨学習: java コース)
抽象クラスには、一般メソッドと抽象メソッドを含めることができます。抽象メソッドの定義は一般メソッドの定義とは異なり、抽象メソッドはメソッド ヘッダーの直後にセミコロンが続きますが、一般メソッドには中括弧で囲まれたメソッド本体が含まれます。すべての抽象メソッドは抽象クラス内に存在する必要があります。 抽象クラスで定義されたメソッドは抽象メソッドと呼ばれます。これらのメソッドにはメソッド ヘッダーの宣言のみがあり、セミコロンはメソッド本体の定義 (つまり、メソッドのインターフェイス形式のみ) を置き換えるのに使用されます。 member メソッドは具象操作なしで定義されます。 派生クラスによる抽象メンバー メソッドの再定義のみが、派生クラスに関連する操作を真に実装できます。 各サブクラスは、親クラスの抽象メソッドを継承した後、異なるステートメントとメソッド本体でそれを再定義し、同じ名前、同じ戻り値、同じパラメータ リスト、同じ目的を持つ複数のサブクラスを形成します。ただし、具体的な実装方法にはいくつかの違いがあります。 抽象クラスで抽象メソッドを定義する目的は、インターフェイスを実装することです。つまり、すべてのサブクラスが同じ名前のメソッドを外部に提示します。Java 言語で抽象クラスを定義するには、抽象クラスを使用します。次の例:
/* 文件名 : Employee.java */public abstract class Employee{ private String name; private String address; private int number; public Employee(String name, String address, int number) { System.out.println("Constructing an Employee"); this.name = name; this.address = address; this.number = number; } public double computePay() { System.out.println("Inside Employee computePay"); return 0.0; } public void mailCheck() { System.out.println("Mailing a check to " + this.name + " " + this.address); } public String toString() { return name + " " + address + " " + number; } public String getName() { return name; } public String getAddress() { return address; } public void setAddress(String newAddress) { address = newAddress; } public int getNumber() { return number; }}Employee クラスも同様であることに注意してください。このクラスは抽象クラスですが、3 つのメンバー変数、7 つのメンバー メソッド、および 1 つのコンストラクターを持っています。 ただし、抽象メソッドを継承してオーバーライドする必要があり、直接インスタンス化することはできません。
以上がJava抽象クラスとは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。