🧨

【Java】継承とは(備忘録)

2023/05/01に公開

1.継承とは

①.他のクラスのメソッドとフィールド(クラス直下に定義された変数)を扱うことができます。

②.継承先クラスを、サブクラスといいます。
  継承元クラスを、スーパークラスといいます。

③.1つのサブクラスが、複数のスーパークラスを持つことは不可能です。

④.階層的な継承ができます。

⑤.Javaでは、複雑さを排除する為に、単一継承が採用されています。
多重継承を採用する際は、「インターフェイス」という仕組みを導入しています。

継承宣言の文法
class 継承先クラス名 extends 継承元クラス名 {
}

2.サンプルプログラム

Sample1_Main.java
public class Sample1_Main {
	public static void main(String[] args) {
		// インスタンス作成
		Sample1_3 Place = new Sample1_3();	

		// メソッドの呼び出し
		Place.work_Country();
		Place.work_Area();
		Place.work_City();
	}
}
Sample1_1.java
// 最も階層が高いスーパークラス
public class Sample1_1 {
	// 定数宣言
	final String COUNTRY_1 = "日本";
	final String COUNTRY_2 = "アメリカ";
	final String COUNTRY_3 = "中国";
	final String COUNTRY_4 = "ドイツ";
		
	// work_Countryメソッドを定義
	void work_Country() {
        System.out.println("私が勤務している国は" + this.COUNTRY_1 + "です");
    }
}
Sample1_2.java
/* 2番目に階層が高いスーパークラス
 * Sample1_1クラスを継承(Sample1_1のサブクラス)
 */
public class Sample1_2 extends Sample1_1 {
	// 定数宣言
	final String AREA_1 = "東京都";
	final String AREA_2 = "大阪府";
	final String AREA_3 = "イリノイ州";
	final String AREA_4 = "広東省";
	final String AREA_5 = "バイエルン州";
	
	// work_Areaメソッドを定義
	void work_Area() {
		System.out.println("私の勤務地は" + this.AREA_1 + "です");	
	}
}
Sample1_3.java
// Sample1_2クラスを継承(Sample1_2のサブクラス)
public class Sample1_3 extends Sample1_2 {
	// 定数宣言
	final String CITY_1 = "港区";
	final String CITY_2 = "大阪市北区";
	final String CITY_3 = "シカゴ市";
	final String CITY_4 = "深セン市";
	final String CITY_5 = "ミュンヘン市";
	
	// work_Cityメソッドを定義
	void work_City() {
		System.out.println("私が勤務している都市は" + this.CITY_1 + "です");
	}
}
実行結果
私が勤務している国は日本です
私の勤務地は東京都です
私が勤務している都市は港区です

3.参考

多重継承とは
単一継承とは

Discussion