The Java initialization process and code sequencing are not related, and the order of execution is:
static member variables;
static domain;
member variables;
Construction method;
Note: There is a base class that executes the base class first and then executes the subclass.
Package com.init.order;
public class Fruit {
Public Fruit () {
System.out.println ("Fruit init function");
}
public int apple_2 = INTPRINTLN (2);
public static int apple_1 = INTPRINTLN (1);
static{
System.out.println ("static area");
}
static int intprintln (int i) {
System.out.println (i);
return 100;
}
}
Package com.init.order;
public class Apple extends fruit{
Public Apple () {
System.out.println ("Apple init function");
}
static int Apple = INTPRINTLN (20);
}
Package com.init.order;
public class Testmain {
/**
* @param args
*/
public static void Main (string[] args) {
TODO auto-generated Method Stub
New Apple ();
}
}
Execution Result:
1
Static area
20
2
Fruit init function
Apple init function
Java Initialization process