text Java的サブクラスのコンストラクタ

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了text Java的サブクラスのコンストラクタ相关的知识,希望对你有一定的参考价值。

// スーパークラスMechatroを継承
class Mate extends Mechatro {
  Mate(String name, String color) {
    // スーパークラスのコンストラクタに引数を渡す
    super(name, color);
    System.out.println("サブクラスのコンストラクタです");
  }
}
// スーパークラスMechatroを継承
class Wego extends Mechatro {
  // スーパークラスにはないサブクラス独自のフィールド
  private int power = 50;

  Wego(String name, String color) {
    // スーパークラスのコンストラクタに引数を渡す
    super(name, color);
    System.out.println("サブクラスのコンストラクタです");
  }

  // メソッドのオーバーライド
  public void printData() {
    // スーパークラスのprintData()メソッドを呼び出し
    super.printData();
    // スーパークラスにはないサブクラス独自の処理
    System.out.println("ぱわー: " + this.power);
  }
}
// スーパークラスMechatro
class Mechatro {
  // privateだとサブクラスからアクセスできないのでprotected
  protected String name;
  protected String color;

  // コンストラクタでnameとcolorの値をセットする
  Mechatro(String name, String color) {
    this.name = name;
    this.color = color;
    System.out.println("スーパークラスのコンストラクタです");
  }

  public void printData() {
    System.out.println("なまえ: " + this.name);
    System.out.println("いろ: " + this.color);
  }
}
class Main {
  public static void main(String[] args) {
    // インスタンスを生成し、変数に代入
    Wego wego1 = new Wego("びびっと", "黄");
    Mate mate1 = new Mate("あいぼりー", "薄クリーム"));

    // スーパークラスのインスタンスメソッドを呼び出す
    wego1.printData();

    // スーパークラスのインスタンスメソッドを呼び出す
    mate1.printData();

  }
}
◆サブクラスでコンストラクタを定義する
お約束:コンストラクタの先頭で、スーパークラスのコンストラクタを呼びだす。
super:「super()」でスーパークラスのコンストラクタを呼び出す
(注意1)
スーパークラスにprivateで定義されているフィールドは、サブクラスから直接アクセスできない。
ゲッターで値を取得をするか、privateではなくprotectedで定義する。
◆protected:宣言したスーパークラス内と、サブクラス内からもアクセスできる。

◇◇◇実行結果◇◇◇
スーパークラスのコンストラクタです
サブクラスのコンストラクタです
スーパークラスのコンストラクタです
サブクラスのコンストラクタです
なまえ: びびっと
いろ: 黄
ぱわー: 50
なまえ: あいぼりー
いろ: 薄クリーム

以上是关于text Java的サブクラスのコンストラクタ的主要内容,如果未能解决你的问题,请参考以下文章

java 同クラスの各インスタンスから,共通であるインスタンスメソッドを呼び出して,特定の结果を得る

Java

java 例外について独自クラスの作成

text OPAMコンパイル+インストール#memo

Apex スケジューラを使用したジョブのスケジュール

java java的の実行可能クラスの雏形.CLIからの呼び出し用。