2016-02-14 抽象クラス 抽象クラス 継承してルールとして使う。 インスタンスを作れない。 クラスメンバは使える。 宣言 abstract class もしくは public abstract class。 フィールドとメソッドを持てる。 コンストラクタも作れる。初期化に使う。 抽象メソッド 修飾子abstractをつける。 処理内容の無いメソッド。 {}はつけない。つけるとエラーになる。 サブクラスは抽象メソッドの実装が必須。(オーバーライド) その際、引数の型や数も一緒にする。 // Human.java abstract class Human { abstract void show(); // 抽象メソッド } // Woman.java public class Woman extends Human { @Override void show() { // 実装が必須 } } まとめ クラスは他のクラスを1つ継承(extends)できる。 クラスはインターフェイスを多重実装(implements)できる。 抽象クラスは他のクラスを継承(extends)できる。 抽象クラスはインターフェイスを多重実装(implements)できる。 インターフェイスはクラスを継承できない。 インターフェイスは他のインターフェイスを多重継承(extends)できる。 インターフェイスは他のインターフェイスを実装(implements)できない。 抽象クラスもインターフェイスもインスタンスは作れない。 抽象クラスもインターフェイスも型として、サブクラスを入れられる。