Instantiation of the Java class initialization process

Source: Internet
Author: User
Tags instance method

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

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.