关于setter/getter方法与实例变量的疑惑?

stezhang 05-07-24

public class Test{
public int i;
}
public class Test1{
private int i;
public void setI(int i){
this.i=i;
}
public int getI(){
return i;
}
}
这是最常见的两种访问方法,但是我有些疑问,为什么都推荐使用第二种方式呢?
我知道第一种方式破坏了对象的封装性,还有其他什么原因致使我们采用第二种方法呢?
不耻下问。

banq
2005-08-02 18:10

现在很多流行框架都是基于javabeans的setXX和getXX方法,而不是基于属性的。所以不这样做,就根本无法运行,这点已经成为习惯。