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

Java变量初始化问题

时间:2015-04-07 17:52:14      阅读:154      评论:0      收藏:0      [点我收藏+]

标签:



class AMMM

{  

    public final static  int CHANG = 10;//注意并不是修饰符为final+static的域就是常量,

                                        //比如:final static int A = Random.nextInt();它并非编译期常量

    public AMMM()//(1)

    {

        i = 100000;

    }

   

    {//(2)

        i = 1;

        mu = 2;

    }

   

    public static int i = 100;// (3)

    public int mu = 0;//(4)

   

    static//(5)

    {

        i = 3;

    //  mu = 100;错误,static块中不可访问非类变量

        System.out.println("静态初始化块");

    }  

}

 

public class Solution {

   public static void main(String[] args)

   {

       //不建立对象,取决于初始语句(3)和static语句(5)的前后顺序,最后都会被提取到<clinit>类构造函数中

       //注意这里初始化块没有作用

       System.out.println(AMMM.i);//输出3

       //建立对象

       System.out.println(new AMMM().i);//输出10000

       //所欲初始化(4)和初始化快(2)都会被提取到<init>构造函数中,按代码中的顺序进行执行,其其执行都会先于(1)中够赞函数的语句

       System.out.println(new AMMM().mu);//输出0

       System.out.println(AMMM.CHANG);//注意常数调用并不会对类进行初始化

   }

}


Java变量初始化问题

标签:

原文地址:http://blog.csdn.net/woliuyunyicai/article/details/44921045

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