代码块:
1.构造代码块
构造代码块:在开发过程中如果需要创建多个对象,但是这些对象都要调用同样的行为属性,就可以使用构造代码块来简化书写(避免重复代码出现)
作用:给对象进行统一的初始化(注意构造函数是给指定的对象进行初始化)
2.局部代码块
作用:使局部变量具有一定的生命周期,可以节约一丁点内存(个人认为没啥用)
3.静态代码块(后续补充)
构造代码块:
定义格式: ----------------就是在成员变量定义完之后由一个大括号包起来的内容
{
构造代码块内容;
}
注意:1.构造代码块的大括号必须位于成员变量位置上
2.jvm编译一个Java源文件的时候,会把成员变量的声明语句提前到一个类的最前端
3.成员变量的初始化都是在构造函数中执行的
4.成员变量二点显式初始化和构造代码块时按照顺序执行的,但是构造函数中的代码在最后执行;
实例:
//////定义一个员工,员工都具有工作的属性
1 public class Employee { 2 int id; 3 String name; 4 int age; 5 { 6 System.out.println("构造代码块执行了。。。。"); 7 Work(); 8 } 9 10 //定义一个构造函数,实现初始化 11 public Employee(int id,String name,int age){ 12 this.name = name; 13 this.age = age; 14 this.id = id; 15 //Work(); //重复代码,在代码块中执行 16 } 17 //定义一个空参数的构造函数 18 public Employee(){ 19 System.out.println("直接上班!!!"); 20 //Work(); //重复代码,在代码块中执行 21 } 22 23 //定义一个公共行为,员工具备工作的属性 24 public void Work(){ 25 System.out.println("编号:"+id+"___"+name+"小伙子快快工作,写代码"+age+"年了!!"); 26 } 28 }
调用
1 public static void main(String[] args){ 2 Employee ey = new Employee(1001001,"李四",26); 3 ey.Work(); 4 Employee ey1 = new Employee();//调用空参数的构造函数 5 }
结果如下:
"C:Program FilesJavajdk1.8.0_181injava.exe" "-
构造代码块执行了。。。。
编号:0___null小伙子快快工作,写代码0年了!!
编号:1001001___李四小伙子快快工作,写代码26年了!!
构造代码块执行了。。。。
编号:0___null小伙子快快工作,写代码0年了!!
直接上班!!!
Process finished with exit code 0