1. Das Konzept der Vererbung: Vererbung ist eine Beziehung zwischen Klassen eine" Beziehung
Übergeordnete Klasse--->Basisklasse Unterklasse--->Abgeleitete Klasse
Hinweis: Vererbung in JAVA ist Einzelvererbung
2. Vorteile der Vererbung: Unterklassen verfügen über alle Eigenschaften und Methoden der übergeordneten Klasse (private Änderungen sind ungültig), um eine Wiederverwendung des Codes zu erreichen
3 Grammatikregeln: Klassenunterklasse erweitert die übergeordnete Klasse
Beispiel:
package example; public class Animal { public int age; public String name; public void eat() { System.out.println("动物不吃东西就会饿"); } } package example; public class Dog extends Animal{ }
4. Umschreiben von Methoden: Wenn die Unterklasse mit dem nicht zufrieden ist Die von der übergeordneten Klasse geerbte Methode kann die von der übergeordneten Klasse geerbte Methode überschreiben. Beim Aufruf der Methode wird die Methode der Unterklasse in begrenztem Umfang aufgerufen.
Grammatikregeln: Rückgabewerttyp , Der Methodenname, der Parametertyp und die Nummer müssen mit der Methode übereinstimmen, die von der übergeordneten Klasse geerbt wurde. Dies wird als Methodenumschreiben
bezeichnet. Beispiel: Fügen Sie die Eat-Methode
package example; public class Dog extends Animal{ public void eat() { System.out.println("年龄:"+age+"\n狗狗不吃东西就会饿"); } }
< hinzu zur Hundeklasse 🎜>
5. Initialisierungssequenz bei der Vererbungpackage example; public class Animal { public int age; public String name; public void eat() { System.out.println("年龄:"+age+"\n动物不吃东西就会饿"); } public Animal() { System.out.println("这是执行了Animal类"); } } package example; public class Dog extends Animal{ public Dog() { System.out.println("这是执行了Dog类"); } }
package example; public class Animal { public int age = 10; public String name; public void eat() { System.out.println("年龄:"+age+"\n动物不吃东西就会饿"); } public Animal() { System.out.println("这是执行了Animal类"); age = 20; } }
7. Verwendung des Super-Schlüsselworts: Wird innerhalb des Objekts verwendet, kann es das übergeordnete Klassenobjekt < darstellen 🎜>
2) Greifen Sie auf die Methode der übergeordneten Klasse zu: super .eat()
Beispiel:
package example;
public class Dog extends Animal{
public Dog() {
System.out.println("这是执行了Dog类");
}
public void method() {
System.out.println(super.age);
super.eat();
}
}
3) Anwendung von super
Konstruktion von Unterklassen Der Konstruktor seiner Elternklasse muss während des Methodenprozesses aufgerufen werden.
public class Dog extends Animal{
public Dog() {
super(); //这里是显示的 写与不写是一样的 但写的话必须放在第一行
System.out.println("这是执行了Dog类");
}
public void method() {
System.out.println(super.age);
super.eat();
}
}
Wenn der Konstruktor explizit aufgerufen wird, muss er in der ersten Zeile des Konstruktors von Zi Erlei stehen.
Wenn der Konstruktor der Unterklasse den Konstruktor der übergeordneten Klasse nicht explizit aufruft und die übergeordnete Klasse keinen Konstruktor ohne Parameter hat, tritt ein Kompilierungsfehler auf
public class Animal {
public int age = 10;
public String name;
public void eat() {
System.out.println("年龄:"+age+"\n动物不吃东西就会饿");
}
/* public Animal() {
System.out.println("执行Animal类构造方法");
}*/
public Animal(int age) {
this.age = age ;
}
}
1) toString()-Methode
Der Hash-Code des zurückgegebenen Objekts, wenn eine toString()-Methode in der Object-Klasse definiert wird (Object Adresszeichenfolge)
可以通过重写toString()方法表示出对象的属性。 2)equals()方法 比较的是对象的引用是否指向同一块内存地址。 一般情况下比较两个对象时比较他的值是否一致,所以要进行重写。 此时若同时给age赋相同值 由此可见还是输出false 在这我们建立equals方法 创建equals方法: Source --> Generate hashCode() and equals()...
此时结果就为true了 ####END#### 相关文章:
Das obige ist der detaillierte Inhalt vonTutorial zum JAVA-Einführungssystem (8) Objektorientiert (Vererbung). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website! @Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass()) //判断两个对象的类型是否相同
return false;
Dog other = (Dog) obj;
if (age != other.age)
return false;
return true;
}