「Java」super()でスーパークラスのコンストラクタと関数を継承する方法
1.親クラスの定義
package com.arkgame.study.mvc; public abstract class BaseInfo { protected String userName = "TestUser_Parent"; // コンストラクター public BaseInfo(String userName) { this.userName = userName; } // カスタマイズ関数 public int update(int x, int y) { return x + y; } }
2.子クラスの定義
package com.arkgame.study.mvc; public class Childcust extends BaseInfo { // 親のコンストラクタを継承 public Childcust(String userName) { super("TestUser_child"); } // 親クラスの関数を継承 public int childFunc(int i, int j) { return super.update(i, j); } }
3.確認クラス
package com.arkgame.study.mvc; public class ChildcustDemo { public static void main(String[] args) { // 子クラスのオブジェクト作成 Childcust cft = new Childcust("main test"); // 子クラスの関数を呼び出す int result = cft.childFunc(5, 9); System.out.println("test result: " + result); // クラスのメンバー変数 System.out.println("メンバー変数結果:" + cft.userName); } }
4.結果
test result: 14
メンバー変数結果:TestUser_child