非静态的初始化块--java16(14/12/2015)

类的第四个成员:初始化块(或代码块)


2、代码块如果有修饰的话,那只能使用static,而没有其它public之类的修饰

3、分类:

静态代码块:

①里面可以有输出语句;

②随着类的加载而加载,而且只被加载一次;

③多个静态代码块之间按照顺序结构执行;

④静态代码块的执行要早于非静态代码块的执行;

⑤静态的代码块中只能执行静态的结构(类属性、类方法)

非静态代码块:

①可以对类的属性(静态的&非静态的)进行初始化操作,同时也可以调用本类声明的方法(静态的&非静态的);

②里面可以有输出语句;

③一个类中可以有多个非静态的代码块,多个代码块之间按照顺序结构执行;

④每创建一个类的对象,非静态代码块就加载一次;

⑤非静态代码块的执行要早于构造器

关于属性赋值的操作:①默认的初始化;②显示的初始化或者代码块初始化(此处两个结构按照顺序执行) ;③构造器中;④通过方法对对象的属性进行修改

默认的初始化:在方法中属性的默认值,private int age;//默认为0

显示的初始化:在方法中对属性进行初始化,private int age = 10;//显示赋值


非静态代码块:代码块写在大括号内,可以用来初始化属性,所以也叫初始化块。

例如:

{                                                                                                                  ordeId = 1001;                                                                                        orderName = "AA";                                                                                 System.out.println();                                                                           }

静态代码块:static+大括号

static{

}

你可能感兴趣的:(非静态的初始化块--java16(14/12/2015))