スーパークラスから拡張したクラスを作ってみます。
下記のようなテストコードを書いて実行してみます。
public class SuperClassTest{ public static void main(String[] args) { //オブジェクトのインスンタンスを生成する TestClassChild tcc = new TestClassChild(); tcc.PrintTextC(); tcc.PrintTextP(); } } class TestClassChild extends TestClassParent { TestClassChild() { //引数なしコンストラクタ用 } void PrintTextC() { System.out.print("PrintTextC !! \n"); } void PrintTextP() { System.out.print("PrintTextP !! \n"); } } class TestClassParent { TestClassParent() { //引数なしコンストラクタ用 } void PrintTextP() { System.out.print("PrintTextP !! \n"); } }
メインの処理の「SuperClassTest」のクラスの中から「TestClassChild」のクラスのインスタンスを生成して、そのTestClassChild内のメソッドを呼びました。
結果は
PrintTextC !!
という表示がされ、TestClassChild内のメソッドを呼べていることがわかります。
次にに、TestClassChildクラスが継承している「TestClassParent」クラスのメソッドも、同じTestClassChildインスタンス(ここではtccという名前)から呼んでみました。
すると結果は
PrintTextP !!
と表示され、継承元の「PrintTextP」メソッドが正しく動作していることがわかります。
今回の例はシンプルな継承の例ですが、一つの親クラスから、多数の子クラスを派生させることも可能なので、後ほどつめて実験してみようと思います。