Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
218 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 Reply

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.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...