java のabstract の理解が進んでいなかったので学習した。
特徴
・直接のインスタンス生成が出来ない
・サブクラスにオーバーライドを強制する
・サブクラスでコンストラクタを記述する必要がある
sample.java
abstract class Abst_sample {
abstract void abstractMethod(int num, String str);
void nonAbstractMethod() {
System.out.println("非抽象メソッドより出力");
}
}
public class sample extends Abst_sample {
public static void main(String[] args) {
sample aaa = new sample();
// 継承したあとで、自身のインスタンスを生成してabstractMethod を呼び出している。
aaa.abstractMethod(3, "Test");
}
@Override
public void abstractMethod(int num, String str) {
System.out.println("引数int num = " + num + " / 引数String str = "+ str);
}
}
「こういうメソッドを使いなさい」を指示を出すイメージかな。
多人数で開発をするとなると、こういう機能も必要になってくるんだろう。
覚えておいて損はないな。
参考