OBJ:extends
// スーパークラスMechatro
class Mechatro {
private String name;
private String color;
public void setName(String name) {
this.name = name;
}
public void setColor(String color) {
this.color = color;
}
public void printData() {
System.out.println("なまえ: " + this.name);
System.out.println("いろ: " + this.color);
}
}
class Main {
public static void main(String[] args) {
// インスタンスを生成し、変数に代入
Wego wego1 = new Wego();
Mate mate1 = new Mate();
// スーパークラスのインスタンスメソッドを呼び出す
wego1.setName("びびっと");
wego1.setColor("黄");
wego1.printData();
// サブクラス独自のメソッドを呼び出す
System.out.println(wego1.getPower());
// スーパークラスのインスタンスメソッドを呼び出す
mate1.setName("あいぼりー");
mate1.setColor("薄クリーム");
mate1.printData();
}
}
// スーパークラスMechatroを継承
class Mate extends Mechatro {
}
// スーパークラスMechatroを継承
class Wego extends Mechatro {
// スーパークラスにはないサブクラス独自のフィールド
private int power = 50;
// スーパークラスにはないサブクラス独自のメソッド
public int getPower() {
return this.power;
}
}
◆継承:「class サブクラス名 extends スーパークラス名 {}」
複数のクラス同士で重複しているコードを抜き出して新しいクラスを作り、新しく作ったクラスの内容を他のクラスが引き継ぐことで、コードの重複をなくす仕組み。
継承して作ったクラスでも独自のフィールドやメソッドを追加できる。
◆スーパークラス:継承されるクラス
◆サブクラス:スーパークラスを継承したクラス