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

Categories

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

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

1 Answer

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.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
...