Java クラスの継承とオーバーライドのサンプル

Javaのクラスの継承とオーバーライドのサンプルです。

目次

クラスを継承する

クラスの継承は、あるクラスの機能を引き継いだクラスを作ることができます。継承先のクラスでは、差分の機能のみ追加すればよくなります。

継承元のクラスのことを「基底クラス 」or 「親クラス 」or 「スーパークラス」といいます。
継承先のクラスのことを「派生クラス」 or「 子クラス」 or「 サブクラス」といいます。

 

クラスを継承するサンプル

3-7行目は、基底クラスです。
9-13行目は、派生クラスです。
9行目は、Color2クラスがextendsを使用して3行目のColor1クラスを継承しています。
19行目は、4行目の基底クラスのメソッドを実行します。
→Color2クラスは、基底クラスのメソッドを再実装しないで済んでいます。継承の利点です。

package test1;

class Color1 {
	public String getName1() {
		return "赤";
	}
}

class Color2 extends Color1{
	public String getName2() {
		return "青";
	}
}

public class Test1 {
	public static void main(String[] args) {
		
		Color2 c2 = new Color2();
		System.out.println(c2.getName1()); //赤
		System.out.println(c2.getName2()); //青
	}
}

 

オーバーライド

基底クラスで定義したメソッドを、派生クラスで同じメソッド名を記述して処理内容を上書きすることです。

 

オーバーライドのサンプル

3-7行目は基底クラスです。
9-13行目は派生クラスです。
基底クラスと派生クラスに同じメソッド名「getName1」があります。(4行目と10行目)
→オーバーライドです。
19行目は基底クラスと派生クラスの両方にある「getName1」メソッドを実行しています。実行結果は派生クラスのメソッドが実行されます。

package test1;

class Color1 {
	public String getName1() {
		return "赤";
	}
}

class Color2 extends Color1{
	public String getName1() {
		return "青";
	}
}

public class Test1 {
	public static void main(String[] args) {
				
		Color2 c2 = new Color2();		
		System.out.println(c2.getName1()); //青
	}
}

関連の記事

Java クラスのサンプル
Java コンストラクタのサンプル
Java クラスの変数のサンプル(メンバー変数/ローカル変数)
Java 変数の型変換とキャストのサンプル
Java インスタンスの型を調べるサンプル(instanceof)
Java クラスのthisのサンプル
Java インターフェースのサンプル
Java abstract修飾子のサンプル
Java シングルトンのサンプル
Java ポリモフィズムのサンプル
Java staticメソッドとstatic変数のサンプル



△上に戻る