Java extends キーワードとは何ですか?
class ParentClass{ ...}
class ChildClass extends ParentClass { ... }
Javaの継承とは何ですか?
Java でのextendsキーワードの使用法を理解するには、まず継承の概念を理解することが不可欠です。Java はオブジェクト指向プログラミング (OOP) 言語です。OOP は、クラスとオブジェクトを使用してプログラムを設計する手法です。クラスとオブジェクトを扱う場合、異なるクラス間に表現する必要がある特定の関係が存在する場合があります。継承は、クラス間のそのような関係の 1 つです。継承は、オブジェクト間の Is-A-Relationship を示します。継承は、あるクラスが別のクラスのプロパティを取得するメカニズムとして定義できます。継承するクラスを子クラスまたはサブクラスと呼び、継承されるクラスを親クラスまたはスーパークラスと呼びます。 伸びるJava では、クラス間の継承を実行するために使用されるキーワードです。例
Java extends キーワードの例は次のとおりです。class Animal {
// fields of the parent class
String name;
String sound;
int noOfLegs;
// default constructor of the parent class
public Animal (){}
// parameterized constructor of the parent class
public Animal (String name, String sound, int legs){
this.name = name;
this.sound = sound;
this.noOfLegs = legs;
}
// method of the parent class
public void display() {
System.out.println("My name is " + name);
System.out.println("My sound is " + sound);
System.out.println("My no. of legs is " + noOfLegs);
}
}
// inherit from Animal
class Dog extends Animal {
String color;
String breed;
// new method in subclass
public Dog(String name, String sound ,int legs, String color, String breed){
super(name,sound,legs);
this.color = color;
this.breed = breed;
}
public void display() {
super.display();
System.out.println("My color is " + color);
System.out.println("My breed is " + breed);
}
}
public class Main {
public static void main(String[] args) {
// create an object of the subclass
Dog dog1 = new Dog("Billy","Bark",4,"Brown","Labrador");
dog1.display();
System.out.println("------------------");
Dog dog2 = new Dog("Grace","Bark",4,"Black","Husky");
dog2.display();
System.out.println("------------------");
Dog dog3 = new Dog("Hugo","Bark",4,"Gray","Poodle");
dog3.display();
}
}
出力
私の名前はビリー、私の音はバーク、私の番号はバークです。足の数は 4 です 私の色はブラウンです 私の品種はラブラドールです ------------------ 私の名前はグレース 私の鳴き声はバークです 私の番号は 1 です。足の数は 4 です 私の色は黒です 私の品種はハスキーです ------------------ 私の名前はヒューゴです 私の鳴き声はバークです 私の番号は 1 です。足の数は 4 です 私の色はグレーです 私の犬種はプードルです