[英]Java code - how to set object variable
我只是在学习,想了解一段设置对象变量的代码。
在后续测试类中设置对象变量bfield的正确方法是什么?
public class test {
private String afield;
private String bfield;
public test() {
buildList();
}
public void buildList() {
some code to derive and populate afield.
this.bfield = this.afield; // ( 1)
setBfield(afield); // (2) say getter and setters do exist
bfield = afield; // (3)
}
正确的做法是什么? 我选择选项1还是选项2?
当然,这三个都可以。
我通常不喜欢选项1,除非我要区分实例成员和参数。 例如, public void buildList(String bfield) { this.bfield = bfield; }
public void buildList(String bfield) { this.bfield = bfield; }
。 this.everything
都是多余的噪音; 如果您不需要它,它所做的就是给错误提供更多代码来隐藏。:)
选项2更具前瞻性; 如果您进行了一些更改,以便必须与bfield
一起设置其他bfield
(或者bfield
根本不需要后备字段,例如,如果设置它应该在子对象上设置某些内容),很高兴你叫setBfield
因为你不会有很多地方可以更改设置bfield
代码。 基本上,如果需要并且已经有setBfield
方法,我建议在大多数情况下使用它。
如果您拥有一个字段,那么您知道该字段将始终包含在对象本身中,并且独立于其他字段,那么选项3通常会更快。 另外,如果您不希望外部代码也能够设置bfield
,则不必创建setter(请参阅:污染您的界面)。
使用蚀! 让它为您做些工作。 这样创建一个类Test。
public class Test {
private String afield;
private String bfield;
}
然后执行以下操作:
完成:)并查找Java bean约定。 您的代码会吓坏任何Java exp开发人员! :)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.