Java实例域初始化方法及顺序
Java实例域初始化方式
1.构造器
publicclassEmployee{ privateStringname; privateStringgender; privateintage; privatedoublesalary; publicEmployee(){ this.salary=1000.0; } publicEmployee(Stringname,Stringgender,intage,doublesalary){ this.name=name; this.gender=gender; this.age=age; this.salary=salary; } }
2.域声明
publicclassEmployee{ privateStringname; privateStringgender; privateintage; privatedoublesalary=1000.0; publicEmployee(){ } publicEmployee(Stringname,Stringgender,intage,doublesalary){ this.name=name; this.gender=gender; this.age=age; this.salary=salary; } }
3.初始化块(initializationblock)
publicclassEmployee{ privateStringname; privateStringgender; privateintage; privatedoublesalary; privatestaticStringtest; //静态初始化块:类第一次被加载时执行 static{ System.out.println("类加载"); test="helloworld!" } //初始化块 { name="xiao"; gender="m"; age=20; salary=1000.0; System.out.println("初始化"); } @Override publicStringtoString(){ return"Employee{"+ "name='"+name+'\''+ ",gender='"+gender+'\''+ ",age="+age+ ",salary="+salary+ '}'; } publicstaticvoidmain(String[]args){ Employeeemployee=newEmployee(); System.out.println(employee.toString()); } }
初始化
Employee{name='xiao',gender='m',age=20,salary=1000.0}
Processfinishedwithexitcode0
Java实例域初始化顺序
调用构造方法的具体处理步骤:
1.如果类是第一次被使用,先执行静态初始化块
2.所有数据域被初始化为默认值(0、false或null)
3.按照在类声明中出现的次序,依次执行所有域初始化语句和初始化块。
4.如果构造方法调用了其他构造方法,先执行其他方法。
5.最后,执行构造方法。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。