A = new A ();
New Create object procedure:
1. Class loading
Code Validation
2. Allocating space (assigning values to attributes) to objects in memory (heap);
3. Assign the default value to the property;
Byte,short.int,long->0
Float->0.0f
double->0.0
Boolean->false
String->null
Char-> ' \u0000 '
4. Assign an initial value to the attribute; (with the equal sign ' = ')
5. Call construction method (method and class name are the same, no return type)
6. Return the object's first address in the heap to reference a
/* * Initialization process for Java class instantiation. * Execution Order: * (static variable-static initialization block)->main-> (instance variable--instance initialization block)--constructor */PublicClassnewinstancetest1{PublicStaticvoidMain (string[] args) {System.out.println ("Main"); System.out.println ("---111---");New NewInstanceTest1 (); System.out.println ("---222---");New NewInstanceTest1 (); }PrivateStaticint i =1;Publicstatic String sStr ="Static variable";Public String iStr ="Instance variable"; {Instance initialization block System.out.println ("Enter instance initialization block"); System.out.println ("Call variable in instance initialization block:" + iStr); System.out.print ("Call method in instance initialization block:"); Italk (); }static {Static initialization of Block System.out.println ("Enter static initialization block"); System.out.println ("Static initialization block called variable:" + sStr); System.out.print ("Call method in static initialization block:"); Stalk (); }Publicstatic void sTalk () {//static method System.out.println (" static method "+ "/static variable Value "+ (+ +) i)); } public void iTalk () {//instance method System.out.println (" instance method ");} public newinstancetest1 () {//constructor System.out.println ( "builder");}} //output: Enter static initialization block static initialization block call variable: Static variable static initialization block Call Method: Static method/static variable value 111---into instance initialization blocks calling variables in the initialization block: Instance variable instance initialization block calling method: Instance method Constructor--- 222---into instance initialization blocks call variables in initialization block: Instance variable instance initialization block Call method: Instance method constructor
Initialization process for instantiation of Java classes