假设我有一个类,它的一个字段中包含一个对象SampleData
,以及该字段的getter和setter。为什么我需要使用setter(而不是getter)来设置数据?
public class someClass
{
private SampleData sampleData;
public SampleData getSampleData()
{
return sampleData;
}
public void setSampleData(SampleData sampleData)
{
this.sampleData = sampleData;
}
}
说我已经实例化了someClass
。假设我已有另一个SampleData
可用。因此,与二传手我会做以下,
someClassInstantiated.setSampleData(anotherSampleData);
为什么我需要使用的setter,setSampleData
设置此字段的值? 为什么我不能这样做呢?
SampleData sampleData = someClassInstantiated.getSampleData();
sampleData = anotherSampleData;
这取决于你想要实现什么...... – noobcoder
你试过了吗? 'SampleData sampleData = someClassInstantiated.getSampleData();'说,“将'sampleData'指向与'getSampleData'返回结果相同的位置,然后'sampleData = anotherSampleData;''说'将sampleData'指向'anotherSampleData'” - 这不会改变'someClassInstantiated.sampleData'指向的内容 – MadProgrammer
getter和setter的全部用途是,如果没有对象控制它的完成方式,外部实体不能修改对象的内部状态。 – Tibrogargan