abstract class クラス名 {
abstract 戻り値型 メソッド名(引数);
}
extends(単一継承)abstract修飾子を付けるinterface インターフェース名 {
戻り値型 メソッド名(引数);
}
public/static/finalのみimplements(複数可)class Bird extends Animal implements Flyable {
@Override
void speak() {
System.out.println("tweet");
}
@Override
public void fly() {
System.out.println("fly");
}
}
publicinterface A {
default void foo() {
// 実装
}
}
Flyable f = new Bird();
Animal a = new Bird();