🌎
【Java】継承とは(備忘録)
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 + "です");
}
}
実行結果
私が勤務している国は日本です
私の勤務地は東京都です
私が勤務している都市は港区です
Discussion