當我們可以直接將變量設置爲受保護時,爲什麼我們需要受保護的修飾符方法?Java中的受保護方法
例如:在下面的代碼中,他們將實例變量SocialSecurityNumber設置爲private,並定義一個受保護的setter方法來設置其值?爲什麼我們不能直接將變量SocialSecurityNumber設置爲受保護的?
public class SSNWrapper {
private int SocialSecurityNumber ;
public SSNWrapper (int ssn) { socialSecurityNumber = ssn ;}
public int getSSN() { return SocialSecurityNumber; }
protected void setSSN(int SSN) { socialSecuritynumber = ssn ; }
}
請參閱http://stackoverflow.com/questions/1568091/why-use-getters-and-setters –
因爲來自類層次結構外的代碼可以使用公共setSSN方法設置變量。 –