如果類可以在他所在的包的外部進行通路,就提供通路方法。
如果類是包私有的,或者私有的嵌套類,直接暴露他的資料域并沒有本質的錯誤。
總之,公有類永遠都不應該暴漏可變的域。雖然還是有幾個問題,但是讓公有類暴漏不可變的域,起危害比較小。但是,有時候需要會用到包級私有的或者私有的嵌套類來暴漏域,無論這個類是可變還是不可變。
Demo:
package cn.partner4java.test;
public class BeanTest {
private static final int HOURS_PER_DAY = 24;
private static final int MINUTES_PER_HOUR = 60;
public final int hour;
public final int minute;
private String username;
public BeanTest(int hour,int minute) {
this.hour = hour;
this.minute = minute;
}
public String getUsername() {
return username;
}
}