🧨
【Java】継承とは(備忘録)
1.継承とは
①.他のクラスのメソッドとフィールド(クラス直下に定義された変数)を扱うことができます。
②.継承先クラスを、サブクラスといいます。
継承元クラスを、スーパークラスといいます。
③.1つのサブクラスが、複数のスーパークラスを持つことは不可能です。
④.階層的な継承ができます。
⑤.Javaでは、複雑さを排除する為に、単一継承が採用されています。
多重継承を採用する際は、「インターフェイス」という仕組みを導入しています。
継承宣言の文法
class 継承先クラス名 extends 継承元クラス名 {
}
2.サンプルプログラム
Sample_Main.java
public class Sample_Main {
public static void main(String[] args) {
// インスタンス作成
Sample_3 place = new Sample_3();
// メソッドの呼び出し
place.work_Country();
place.work_Area();
place.work_City();
}
}
// 最も階層が高いスーパークラス
class Sample_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 + "です");
}
}
// 2番目に階層が高いスーパークラス(Sample_1のサブクラス)
class Sample_2 extends Sample_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 + "です");
}
}
// Sample_2クラスを継承(Sample_2のサブクラス)
class Sample_3 extends Sample_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 + "です");
}
}
実行結果
私が勤務している国は日本です
私の勤務地は東京都です
私が勤務している都市は港区です
注:便宜的にすべてのクラスをSample_Main.javaファイルに記載しています。
実務ではファイルごとにクラスを分けるのが望ましいです
3.参考
4.その他
・実行環境
Discussion