Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
214 views
in Technique[技术] by (71.8m points)

java - How to instantiante object & call setter on same line?

If I have an Employee class with a default constructor:

private String firstName;
public Employee(){}

and a setter:

public void setFirstName(String firstName){
    this.firstName = firstName;
}

Why does this attempt fail to instantiate and call the setter in the same line?

Employee employee = new Employee().setFirstName("John");
See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

You can also use this syntax:

Employee employee = new Employee() {{
    setFirstName("John");
}};

Though keep in mind that it's going to create an anonymous inner class and probably isn't what you want.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...