重载,this调用另一个构造器,无参数构造器,静态初始化块

package zzy;
import java.util.*;
import static java.lang.System.*;


public class zzy5 {
    public static void main(String[] args){
        Employee[] staff = new Employee[4];
        staff[0] = new Employee("Harry",40000);
        staff[1] = new Employee(60000.0);
        staff[2] = new Employee(5);
        staff[3] = new Employee();
        for(Employee e : staff)
            out.println("name=" + e.getName() + ",id="+e.getId()+",salary="+e.getSalary());
    }
    
}
class Employee
{
    private static int nextId;
    private int id;
    private String name = "";
    private double salary;
    
    static
    {
        Random generator = new Random();
        nextId = generator.nextInt(10000);
    }
    {
        id = nextId;
        nextId++;
    }
    public Employee(String n,double s)
    {
        name = n;
        salary = s;
    }
    public Employee(double s){
        this("nizaina",s);    //调用同一个类的public Employee(String n,double s)构造器
        
    }
    public Employee(int v ,double s)
    {
        name = "nihao";
        salary = 150;
    }
    public Employee(int b)
    {
        this(2,5.2);                //调用 public Employee(int v ,double s)构造器
    }
    public Employee()
    {
        //实例域name初始化为“”,salary默认为零;
    }
    public String getName()
    {
        return name;
    }
    public double getSalary()
    {
        return salary;
    }
    public int getId()
    {
        return id;
    }
}

你可能感兴趣的:(java自学笔记)