假設我有一個類,它的一個字段中包含一個對象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