Heim > Java > javaLernprogramm > Reihenfolge der Vererbungsinitialisierung in Java

Reihenfolge der Vererbungsinitialisierung in Java

黄舟
Freigeben: 2017-01-18 15:41:09
Original
1467 Leute haben es durchsucht

1. Initialisierungssequenz der Vererbung

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

2. Führen Sie zunächst die Initialisierung der Eigenschaften im Objekt und dann die Initialisierung in der Konstruktormethode durch.

2. Nachfolgend verwenden wir ein einfaches Beispiel, um dieses Problem zu veranschaulichen:

Elternklasse: Tiercode:

package com.bluesky;  
  
public class Animal {  
public Animal(){  
  
    System.out.println("动物类的构造方法执行了!");  
  
}  
}
Nach dem Login kopieren

Unterklasse: Hundecode:

package com.bluesky;  
  
public class Dog extends Animal {  
      
    public Dog(){  
        System.out.println("子类的构造函数执行了!");  
         
    }  
  
}
Nach dem Login kopieren

Testklasse: Testcode:

package com.bluesky;  
  
public class Test {  
  
    public static void main(String[] args) {  
        Dog dog = new Dog();  
  
    }  
  
}
Nach dem Login kopieren

Ausführungsergebnis:

Das Obige zeigt, dass zuerst die Konstruktionsmethode der übergeordneten Klasse und dann die Unterklasse ausgeführt wird Bauweise ausgeführt.

Als nächstes fügen wir einen kleinen Code hinzu, um die Ausführungsreihenfolge von Attributen und Konstruktoren anzuzeigen

Übergeordnete Klasse: Tiercode:

package com.bluesky;  
  
public class Animal {  
      
    public int age=10;  //如果构造方法先执行,属性后执行,则age的值应该为:10;  
                        //因为后面赋值会覆盖前面的赋值  
      
    public Animal(){  
    
    age=20;               //同理  
    System.out.println("动物类的构造方法执行了!");  
      
  
}  
}
Nach dem Login kopieren

Unterklasse: Hundeklassencode :

package com.bluesky;  
  
public class Dog extends Animal {  
       
    public String name="Jack";   //如果构造方法先执行,属性后执行,则name的值应该为:Jack;  
                                 //因为后面赋值会覆盖前面的赋值  
      
    public Dog(){  
        name="Rose";  
        System.out.println("子类的构造函数执行了!");  
         
    }  
  
}
Nach dem Login kopieren

Testklasse: Testcode:

package com.bluesky;  
  
public class Test {  
  
    public static void main(String[] args) {  
        Dog dog = new Dog();  
        System.out.println("dog.age="+dog.age);  
        System.out.println("dog.name="+dog.name);  
  
    }  
  
}
Nach dem Login kopieren

Laufergebnis:


Zusammenfassung: Über Vererbung in Java Initialisierungssequenz:
Initialisieren Sie zuerst die Attribute des übergeordneten Klassenobjekts und dann den Konstruktor der übergeordneten Klasse.
Initialisieren Sie dann die Eigenschaften des Unterklassenobjekts und initialisieren Sie schließlich den Konstruktor der Unterklasse.

Das Obige ist der Inhalt der Vererbungsinitialisierungssequenz in Java. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn)!


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