java public和protected 使用get set的问题。

当public 使用set get时,调用时是不是优先调用封装?还是使用this调用?
这个封装有什么意义,外部不能直接看到turnPage么?
protected String turnPage = null;
public void setTurnPage(String turnPage)
{this.turnPage = turnPage;
}

public String getTurnPage(){
return turnPage;
}
话说我为什么要问这样的问题呢,我是初学者,别人给我个模板让我照那个学,给我整的五迷三道的。

在类外部调用一个类的成员,是使用类的实例对象调用。比如你这个如果封装在Page类中:

public class Page{
    protected String turnPage = null;
    public void setTurnPage(String turnPage){
        this.turnPage = turnPage;
    }
    public String getTurnPage(){
        return turnPage;
    }

调用时先实例化,再用实例名称调用:

Page p =new Page();
p.setTurnPage("Hello!");
p.getTurnPage();

至于可访问性,是由访问修饰符(public private protected
)控制的。

public--都可访问(公有) 
private--类内可访问(私有)
protected--包内和子类可访问(保护)
不写(default)--包内可访问 (默认)
public>protected>default>private

因为你的turnPage使用了protected 修饰

所以如果不使用set,get,非包内和子类是不能访问turnPage的。

温馨提示:答案为网友推荐,仅供参考
相似回答