青柠微恙biubiu 2017-08-14 03:56 采纳率: 25%
浏览 1681
已采纳

关于构造器调用同一个类另个一构造器的问题

在学习CoreJava中,看到一个构造器可以调用同一个类另个一构造器的部分,

class Employee
{
private static int nextId;
private int id;
private String name;
private double salary;

 static
 {
     Random generator=new Random();
     nextId=generator.nextInt(1000)+1;
 }

 {
     id=nextId;
     nextId++;
 }
public Employee(String name,double salary)
{
    this.name=name;
    this.salary=salary;
}

public Employee(double s)
{
    this("Employee#"+nextId,s);
}

public Employee()
{

}

}

this("Employee#"+nextId,s); 这句话没看懂,请问有人能帮忙解释一下吗?

  • 写回答

5条回答

  • 鼠晓 领域专家: 后端开发技术领域 2017-08-14 04:06
    关注

    this("Employee#"+nextId,s);,

    你可以把构造器看作普通的方法,,返回类型为 当前类的类型,,那么所有构造方法返回类型都是一致的(这只是一种类比)

      public Employee Employee(double s)
    {
        return this("Employee#"+nextId,s);
    }
    
    public Employee Employee(String name,double salary)
    {
        this.name=name;
        this.salary=salary;
            return employee;
    }
    

    注意:
    这个例子只是为了方便理解,,,只是一种类比,,实际中肯定是不可以这样写的

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?