抽象クラス

クラス定義の頭にabstractキーワードを付けることで、不完全な状態でクラスを定義できる・・・。
抽象クラスといって、クラスの概要(メソッドの宣言など)だけを定義して、派生クラスで具体的な実装を書く時などに使う・・・。

こんな風に、outputとsetを持った抽象クラスAbstractClassを定義する・・・。
outputとsetの中身は何も実装しない・・・。

中身を実装した派生クラスDerivedClass1を定義する・・・。
outputは、

こうなっている・・・。

もうひとつ、

DerivedClass2を定義・・・。
outputは、

こうなっている・・・。

MainClass.javaで、

AbstractClassのabstract1に、DerivedClass1のインスタンスを入れる・・・。

setで10, "ABC"をセット・・・。

outputで出力・・・。

今度はAbstractClassのabstract2に、DerivedClass2のインスタンスを入れる・・・。

setで20, "XYZ"をセット・・・。

outputで出力・・・。

i = 10, str = ABC
[i, str] = [20, XYZ]

上はDerivedClass1のoutputにオーバーライドされている・・・。
下はDerivedClass2のoutputにオーバーライドされている・・・。

Sample/MainClass.java at master · bg1bgst333/Sample · GitHub
Sample/AbstractClass.java at master · bg1bgst333/Sample · GitHub
Sample/DerivedClass1.java at master · bg1bgst333/Sample · GitHub
Sample/DerivedClass2.java at master · bg1bgst333/Sample · GitHub