标签:
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);//注意常数调用并不会对类进行初始化
}
}
标签:
原文地址:http://blog.csdn.net/woliuyunyicai/article/details/44921045