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.最后,执行构造方法。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。