Heim > Java > javaLernprogramm > Tutorial zum JAVA-Einführungssystem (8) Objektorientiert (Vererbung)

Tutorial zum JAVA-Einführungssystem (8) Objektorientiert (Vererbung)

php是最好的语言
Freigeben: 2018-08-10 11:06:26
Original
1970 Leute haben es durchsucht

###Objektorientiert (Vererbung)###

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{
	
}
Nach dem Login kopieren

Tutorial zum JAVA-Einführungssystem (8) Objektorientiert (Vererbung)

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狗狗不吃东西就会饿");
	}
}
Nach dem Login kopieren

Tutorial zum JAVA-Einführungssystem (8) Objektorientiert (Vererbung)< hinzu zur Hundeklasse 🎜>

5. Initialisierungssequenz bei der Vererbung


1) Initialisieren Sie die übergeordnete Klasse und initialisieren Sie dann die Unterklasse

2) Initialisieren Sie zuerst die Eigenschaften im Objekt , und führen Sie dann den Konstruktor Initialization aus

Beispiel:

package 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类");
	}
}
Nach dem Login kopieren

Tutorial zum JAVA-Einführungssystem (8) Objektorientiert (Vererbung)

Ein weiteres Beispiel:

Wir weisen zuerst dem Alter im Tier einen Wert zu Klasse und weisen Sie sie dann in der Tiermethode zu. Alter wird erneut zugewiesen

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;
	}
}
Nach dem Login kopieren

Als nächstes schauen wir uns das Ausgabeergebnis an

Tutorial zum JAVA-Einführungssystem (8) Objektorientiert (Vererbung)

6. Verwendung des Schlüsselworts final

Verwenden Sie das Schlüsselwort final. Das Logo hat eine „endgültige“ Bedeutung, das heißt, es kann nicht geändert oder geändert werden.

Final kann Klassen, Methoden, Eigenschaften und Variablen ändern.

ps : Beim Ändern einer Klasse kann die Klasse nicht vererbt werden

Beim Ändern einer Methode wird die Methode nicht sequentiell überschrieben (neu geschrieben)

Beim Ändern eines Attributs wird das Attribut der Klasse nicht vererbt implizit initialisiert werden (Klassenattributisierung) Das Attribut muss einen Wert haben) und im Konstruktor zugewiesen werden (Sie können jedoch nur einen auswählen)

Beim Ändern einer Variablen kann der Wert der Variablen nur einmal zugewiesen werden Das heißt, es wird zu einer Konstante

Tutorial zum JAVA-Einführungssystem (8) Objektorientiert (Vererbung)

7. Verwendung des Super-Schlüsselworts: Wird innerhalb des Objekts verwendet, kann es das übergeordnete Klassenobjekt < darstellen 🎜>

1) Greifen Sie auf die Attribute der übergeordneten Klasse zu: super.age

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();
	}
}
Nach dem Login kopieren

Tutorial zum JAVA-Einführungssystem (8) Objektorientiert (Vererbung)

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();
	}
}
Nach dem Login kopieren

Tutorial zum JAVA-Einführungssystem (8) Objektorientiert (Vererbung)

Wenn der Konstruktor der Unterklasse den Konstruktor der übergeordneten Klasse nicht anzeigt, ruft das System den Konstruktor ohne Argumente der übergeordneten Klasse auf Standard

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 ;
	}
}
Nach dem Login kopieren

Tutorial zum JAVA-Einführungssystem (8) Objektorientiert (Vererbung)

8. Objektklasse: Es ist die übergeordnete Klasse aller Klassen. Wenn eine Klasse nicht das Schlüsselwort „extends“ verwendet, um eindeutig anzuzeigen, dass sie eine andere Klasse erbt, dann Diese Klasse erbt standardmäßig die Object-Klasse.


Methoden in der Object-Klasse sind für alle Unterklassen geeignet.

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()方法

比较的是对象的引用是否指向同一块内存地址。

一般情况下比较两个对象时比较他的值是否一致,所以要进行重写。

Tutorial zum JAVA-Einführungssystem (8) Objektorientiert (Vererbung)

此时若同时给age赋相同值

Tutorial zum JAVA-Einführungssystem (8) Objektorientiert (Vererbung)

由此可见还是输出false 在这我们建立equals方法

创建equals方法: Source --> Generate hashCode() and equals()...

Tutorial zum JAVA-Einführungssystem (8) Objektorientiert (Vererbung)

	@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;
	}
Nach dem Login kopieren

Tutorial zum JAVA-Einführungssystem (8) Objektorientiert (Vererbung)

此时结果就为true了

####END####

相关文章:

JAVA入门系统教程(六)面向对象(封装)

JAVA入门系统教程(七)面向对象(封装2)

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage