study-note

抽象クラス/インターフェース

目次

抽象クラス

abstract class クラス名 {
  abstract 戻り値型 メソッド名(引数);
}

抽象メソッド

インターフェース

interface インターフェース名 {
  戻り値型 メソッド名(引数);
}

implements構文

class Bird extends Animal implements Flyable {
	@Override
	void speak() {
		System.out.println("tweet");
	}
	
	@Override
	public void fly() {
		System.out.println("fly");
	}
}

アクセス修飾子

defaultメソッド

interface A {
  default void foo() {
    // 実装
  }
}

型としての扱い

Flyable f = new Bird();
Animal a = new Bird();

まとめ

抽象クラス

インターフェース