Single class: (Static member variable & static initialization block) < (member variable & initialization block) < constructor
Copy Code code as follows:
public class object initialization order {
public static void main (string[ ] {
person p = new person (); args)
}
}
Class person{
public static String Staticfield = "static member variable";
public String field = "Member variable";
static
{
System.out.println (Staticfield);
System.out.println ("Static initialization Block");
}
{
System.out.println (field);
System.out.println ("initialization block");
}
person () {
System.out.println ("constructor");
}
}
Output results
Static member Variable
Static initialization block
Member variable
Initializing blocks
Constructors
Inheriting classes: (parent class static member variable & parent class static initialization block) < (subclass static member variable & subclass static initialization block) < (parent class variable & parent class initialization block) < (parent constructor & Subclass variable) < (subclass initialization block & Sub-class builder)
The parentheses are determined by the order in which they appear.