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 }