LoginSignup
0
0

【Java】継承を覚える

Last updated at Posted at 2024-06-05

スーパークラスを継承したサブクラスが通常のクラスと比べて何が違うのか、覚えるための自分用メモです。

継承とは?

既存のクラスのフィールドとメソッドを引き継いで、新しいクラスを定義することです。

サンプルプログラム

例えば、以下のクラスをSubClass1クラスに継承するとします。

SuperClass.java
public class SuperClass {
    private String name;
    public SuperClass(String name) {
        this.name = name;
    }
    public String getName() {
        return this.name;
    }
}

その場合、以下のように記述します(親クラスに引数なしのコンストラクタが無い場合、super()でコンストラクタを呼び出す必要あり)。

SubClass1.java
public class SubClass1 extends SuperClass {
    public SubClass1(String name) {
        super(name);
    }
}

親のSuperClassクラスをスーパークラス、子のSubClass1クラスをサブクラスといいます。

継承したサブクラスをインスタンス化する

継承したサブクラスをインスタンス化する記述は、通常のインスタンス化と変わりません(スーパークラス型でインスタンス化も可能)。

Main.java
public class Main {
    public static void main(String[] args) {
        SuperClass s = new SubClass1("名前1");
    }
}

継承したメソッドを呼び出す

継承したメソッドは、サブクラスに記述が無くても呼び出すことができます。

Main.java
public class Main {
    public static void main(String[] args) {
        SuperClass s = new SubClass1("名前1");
        print(s);
    }
    static void print(SuperClass s) {
        System.out.println(s.getName());
    }
}

実行結果
名前1

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0