Java で抽象クラスを宣言するには抽象キーワードを使用します
Javaにおいて、abstractというキーワードは3つの場面で使用できます。
- 抽象クラスは abstract キーワードを使って宣言します。抽象クラスはそれ自体ではインスタンス化できず、継承のみできます。抽象クラスには抽象メソッドと非抽象メソッドを含めることができます。抽象メソッドは実装されていないメソッドで、サブクラスは抽象メソッドを使用するために抽象メソッドを実装する必要があります。
ネイティブの日本語で言い換えると、次のようになります。
abstract class Animal {
abstract void sound();
void sleep() {
System.out.println("Animal sleeps");
}
}
class Dog extends Animal {
void sound() {
System.out.println("Dog barks");
}
}
public class Main {
public static void main(String[] args) {
Animal animal = new Dog();
animal.sound();
animal.sleep();
}
}
- 抽象メソッド: abstractキーワードを使って抽象メソッドを宣言します。抽象メソッドはメソッドの宣言のみを持ち、メソッド本体はありません。抽象メソッドは抽象クラスで宣言する必要があり、そのサブクラスは抽象メソッドを実装する必要があります。
ネイティブな日本語で文章を言い換えてください。1つのオプションだけで結構です。
abstract class Animal {
abstract void sound();
}
class Dog extends Animal {
void sound() {
System.out.println("Dog barks");
}
}
public class Main {
public static void main(String[] args) {
Animal animal = new Dog();
animal.sound();
}
}
- インターフェース:インターフェースとはメソッドの宣言のみを含む抽象データ型であり、メソッドの実装は含まれません。abstractキーワードを使用してインターフェースを宣言します。クラスは1つまたは複数のインターフェースを実装できますが、インターフェースを実装するクラスはインターフェースで宣言されたメソッドをすべて実装する必要があります。
本来、ダイエットは食事制限のことであった。
interface Animal {
void sound();
}
class Dog implements Animal {
public void sound() {
System.out.println("Dog barks");
}
}
public class Main {
public static void main(String[] args) {
Animal animal = new Dog();
animal.sound();
}
}