package cn.bzh;
/*1.java里面可以通过代码块来初始化数据进行赋值
*
*2.静态初始化代码块只在类加载的时候执行,且只会执行一次
*
*3.静态代码块只能给静态变量赋值,不能给非静态变量赋值
*
*4.加载顺序 静态代码块——>初始化代码块->构造方法
* */
public class Test5 {
int num1;
int num2;
static int num3; //静态变量
int num4;
//构造方法
public Test5(){
num1=89;
System.out.println("通过构造方法对num1进行赋值");
}
//初始化代码块
{
num2=67;
System.out.println("通过初始化代码块对num2进行赋值,可重复加载");
}
//静态初始化代码块
static{
num3=99;
/*num4=1;//编译报错,只能给静态变量赋值*/
System.out.println("通过静态初始化代码块对num3进行赋值,并且只加载一次,只保持一份");
}
public static void main(String[] args) {
Test5 te=new Test5();
System.out.println("num1:\t"+te.num1);
System.out.println("num2:\t"+te.num2);
System.out.println("num3:\t"+te.num3);
Test5 tess=new Test5();
}
}
静态代码块/初始化代码块/构造器的加载顺序和注意点?
猜你喜欢
转载自blog.csdn.net/Java_stud/article/details/82317278
今日推荐
周排行