当您要创建对象的新实例时,应使用构造函数方法,该实例的值已填充(准备使用的对象中已填充值)。这样,您无需为对象中的每个字段显式调用setter方法即可填充它们。
创建对象后,要更改字段的值时,可以使用setter方法设置值。
例如:-
MyObject obj1 = new MyObject("setSomeStringInMyObject"); // Constructor approach// Yippy, I can just use my obj1, as the values are already populated// But even after this I can change the valueobj1.setSomeString("IWantANewValue"); // Value changed using setter, if required...MyObject obj2 = new MyObject();obj2.setSomeString("setSomeStringNow"); // Setter approach// values weren't populated - I had to do that. Sad :(
正如Axel所述, 如果要创建不可变的对象,则不能使用setter-methods方法。
我不会说一切都必须在构造函数中初始化,因为存在不同的方法,例如即使对于不可变的对象也可以使用的惰性求值。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)