码迷,mamicode.com
首页 > 编程语言 > 详细

Java 类中成员初始化顺序

时间:2014-07-03 14:35:53      阅读:226      评论:0      收藏:0      [点我收藏+]

标签:java

     Java 中的类成员 基本分为 静态成员, 实例变量  方法中特别的是静态方法和构造方法。

    1、定义一个类

public class ClassLoaderTest {


    public int a ;

    public String b;

    private static int c;


    public  ClassLoaderTest(){

        System.out.println("执行前:"+ a + "  "+ b);

        a = 10;

        b = "lisi";

        System.out.println("构造方法执行" + a + "  " + b);

    }


    {

        a = 1;

        b = "zhangsan";

        System.out.println("实例变量加载 is "+a +"  " + b);

    }


    static{

        c = 100;

        System.out.println(c);

    }


    public static void main(String args[]){

       //new ClassLoaderTest();


    }

}


 单纯执行一个main方法, 类加载机制加载.class文件,将字节码数据缓存到内存中,如果发现类中有静态变量和静态方法 就会执行静态代码块, 所以结果会输出100; 类加载的时候会初始化静态变量,

 当new ClassLoaderTest()的时候 ,实例化对象,  new 关键字会在堆内存中随机分配一块内存,会先执行实例代码块,分配实例变量,然后在调用构造方法进一步初始化实例变量

        

Java 类中成员初始化顺序,布布扣,bubuko.com

Java 类中成员初始化顺序

标签:java

原文地址:http://cloudsher.blog.51cto.com/5377831/1433751

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!