首页 > 代码库 > Java初始化数据域的途径

Java初始化数据域的途径

Java调用构造器的具体处理步骤:

1.所有数据域被初始化为默认值(0,false或null);

2.按照在类声明中出现的次序,依次执行所有域的初始化语句和初始化块;

3.如果构造器第一行调用了第二个构造器,则执行第二个构造器主体;

4.执行这个构造器的主体。

import java.util.*;public class ConstructorTest {    public static void main(String[] args)    {        Employee[] staff =new Employee[3];        staff[0]=new Employee("Harry",40000);        staff[1]=new Employee(60000);        staff[2]=new Employee();        for(Employee e:staff)        {            System.out.println("name="+e.getName()+",id="+e.getId()+",salary="+e.getSalary());        }    }}class Employee{    public Employee(String n,double s)    {        name=n;        salary=s;    }    public Employee(double s)    {        this("Employee #"+nextId,s);    }    public Employee()    {            }    public String getName()    {        return name;    }    public double getSalary()    {        return salary;        }    public int getId()    {        return id;    }    private static int nextId;    private int id;    String name="";    private double salary;    static    {        Random generator=new Random();        nextId=generator.nextInt(10000);    }    {        id=nextId;        nextId++;    }}

运行结果:

name=Harry,id=4891,salary=40000.0

name=Employee #4892,id=4892,salary=60000.0

name=,id=4893,salary=0.0

Java初始化数据域的途径