Die Codekopie lautet wie folgt:
Öffentliche Klasse Ableitungen erweitert die Basis
{
privates Mitglied M1 = neues Mitglied ("Mitglied 1");
{
System.out.println ("initial block ()");
}
public beendive () {
System.out.println ("domive ()");
}
privates Mitglied M2 = neues Mitglied ("Mitglied 2");
private int i = getInt ();
Privat int getint ()
{
System.out.println ("getInt ()");
Rückkehr 2;
}
öffentliche statische Leere Main (String [] Args)
{
neuer Derive ();
}
}
Klassenbasis
{
öffentliche Basis ()
{
System.out.println ("Base ()");
}
}
Klassenmitglied
{
öffentliches Mitglied (String M)
{
System.out.println ("member ()"+m);
}
}
/*Programmausgabe:
Base()
Mitglied () Mitglied 1
Anfangsblock ()
Mitglied () Mitglied 2
Getint ()
Ableiten()
*/
Die Schlussfolgerung lautet wie folgt: Ohne die Initialisierung statischer Mitglieder zu berücksichtigen, ruft das Programm beim Aufrufen eines Objektkonstruktors zunächst den Konstruktor der übergeordneten Klasse auf (der Konstruktor der übergeordneten Klasse kann über das Super -Schlüsselwort angegeben werden, ansonsten der Konstruktor ohne Parameter wird standardmäßig aufgerufen Die Variable hat keinen angegebenen Wert, der Standardwert wird zugewiesen, dh die grundlegenden Daten sind 0 oder falsch usw. und das Objekt ist null.