- 抽象クラスの定義: 抽象クラスは、具象クラス(通常のクラス)とは異なり、インスタンス化できません。抽象クラスを定義するには、クラス宣言の前に「abstract」キーワードを付けます。例えば、以下のような抽象クラスを定義することができます。
abstract class Animal {
public abstract void makeSound();
}
- 抽象メソッドの定義:
抽象メソッドは、メソッドの本体が存在せず、サブクラスでオーバーライドする必要があります。抽象メソッドを定義するには、メソッド宣言の前に「abstract」キーワードを付けます。例えば、上記の抽象クラスで定義した
makeSound
メソッドは、以下のようにサブクラスでオーバーライドします。
class Dog extends Animal {
public void makeSound() {
System.out.println("ワンワン!");
}
}
- 抽象クラスの継承: 抽象クラスは、通常のクラスと同様に継承することができます。ただし、抽象クラスを継承する場合、サブクラスで抽象メソッドを実装する必要があります。例えば、以下のようなサブクラスを定義することができます。
class Cat extends Animal {
public void makeSound() {
System.out.println("ニャー!");
}
}
- 抽象クラスの利用: 抽象クラスは直接インスタンス化できないため、サブクラスを通じて利用します。例えば、以下のように抽象クラスを使用することができます。
public class Main {
public static void main(String[] args) {
Animal dog = new Dog();
Animal cat = new Cat();
dog.makeSound(); // ワンワン!
cat.makeSound(); // ニャー!
}
}
以上がJavaの抽象キーワードの使い方とコード例です。抽象クラスと抽象メソッドを使用することで、柔軟なオブジェクト指向プログラミングが可能になります。