java之路 构造代码块注意事项
1 /* 2 构造代码块: 3 4 构造代码块的作用:给对象进行统一的初始化。 5 6 构造函数的作用: 给对应的对象进行初始化。 7 8 9 构造代码块的格式: 10 11 { 12 构造代码块 13 } 14 15 注意: 构造代码块的大括号必须位于成员 位置上。 16 17 18 代码块的类别: 19 1. 构造代码块。 20 2. 局部代码块. 大括号位于方法之内。 作用:缩短局部 变量 的生命周期,节省一点点内存。 21 3. 静态代码块 static 22 */ 23 24 class Baby{ 25 26 int id; //身份证 27 28 String name; //名字 29 30 //构造代码块... 31 { 32 //System.out.println("构造代码块的代码执行了......"); 33 34 } 35 36 //带参构造函数 37 public Baby(int i , String n){ 38 id = i; 39 name = n; 40 } 41 42 //无参构造方法 43 public Baby(){ 44 } 45 46 public void cry(){ 47 System.out.println(name+"哇哇哭..."); 48 } 49 } 50 51 52 53 class Demo4 54 { 55 public static void main(String[] args) 56 { 57 Baby b1 = new Baby(110,"狗娃"); // 狗娃 狗剩 铁蛋 58 System.out.println("编号:"+ b1.id + " 名字:"+b1.name); 59 /* 60 System.out.println("编号:"+ b1.id + " 名字:"+b1.name); 61 62 new Baby(112,"狗剩"); 63 new Baby(); 64 */ 65 /* 66 new Baby(110,"狗娃"); 67 new Baby(112,"狗剩"); 68 new Baby(); 69 */ 70 } 71 }
1 /* 2 构造 代码块要注意的事项: 3 1. java编译器编译一个java源文件的时候,会把成员变量的声明语句提前至一个类的最前端。 4 2. 成员变量的初始化工作其实都在在构造函数中执行的。 5 3. 一旦经过java编译器编译后,那么构造代码块的代码块就会被移动构造函数中执行,是在构造函数之前执行的,构造函数的中代码是最后执行 的。 6 4. 成员变量的显示初始化与构造代码块 的代码是按照当前代码的顺序执行的。 7 */ 8 class Demo5 9 { 10 11 12 13 //构造函数 14 public Demo5(){ //构造函数 15 i = 300000000; 16 } 17 18 //构造代码块 //构造代码块的初始化 19 { 20 i = 200000000; 21 } 22 23 int i = 100000000; //成员变量的显初始化 24 25 26 27 public static void main(String[] args) 28 { 29 Demo5 d = new Demo5(); 30 System.out.println("i = "+d.i); // 双、吴、刘 :2000 : 31 } 32 }