java基础之类初始化(static块,代码块等)

一附上Demo,注释有相关知识点:

package com.dong.java.enhance;
/**
 *
 * @author Administrator
 *
 */
public class  TestOneDay {

	int c;
	static int cc=999;//静态变量
	public TestOneDay(){
		System.out.println("AAA"+ c); //第四个执行
	}
	{
		int b=2;
		System.out.println("A"+b);//代码块中定义的局部变量也是需要初始化  第三个执行
		System.out.println("AA"+c);//输出成员变量的值   
	}
    static {
    	System.out.println("AAAA"+0);//第一个执行
    }
	
    public static void main(String[] args) {
		int a=0;  //方法中的局部变量需要进行初始化
		 String s1="aaaaa";
		 int age=11;//方法中的局部常量需要进行初始化
//	    s1="vv"; 此时就会直接报错就是因为变量前被final修饰
	    System.out.println(a);  //第二个执行
		System.out.println(age);
        System.out.println(new TestOneDay()); 
	}
 /*总结如下:(本例有特殊之处,需要注意下)
  * new一个对象时第一步 首先执行静态代码块   
  * 第二步是 执行代码块  
  * 第三步是执行最后的构造方法,也就是创建成一个对象
  */
	
}

你可能感兴趣的:(个人学习篇)