getter和setter

Posted wxlmdx

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了getter和setter相关的知识,希望对你有一定的参考价值。

getter 和setter

  • 子类中为什么要写get和set方法获取释放数据,不写会怎样?在什么情况下要用getter和setter? getter通常与一个私有的实例变量对应,用于返回该变量的值

    public int getXxxx()
    {
       return "相应的实例变量";
    }

setter通常与一个私有的实例变量对应,用于设置该变量的值

  public void setXxxx(类型参数)
{
     实例变量=参数;
}

 

其中 setXxx的参数类型通常要跟相应的实例变量类型相同。

通常,将实例变量私有化,并为其提供相应的getter和setter。

将实例变量私有化是为了隐藏类的实现细节,不对外暴露。

如果期望外部还能访问私有的实例变量,可以为其提供相应的getter和setter。

如果不期望外部能访问私有变量,则不需要提供相应的getter和setter。

如果父类中存在私有的实例变量,期望子类能够访问,则父类需要为这些实例变量提供相应的getter和setter。

  • 如果成员变量是public修饰,还需要get和set方法吗? 不需要要,因为可以直接访问。

  • 那为什么非要将成员变量私有化再提供getter和setter?

    private intage;//字段(field)
    public int getNianLing()
    {
       return age;
    }

    getNianLing()->去掉get和参数部分->NianLing NianLing->将首字母变小写->nianLing 这里得到的nianLing就是属性(property)

    private int x;//字段(field)
    public int getAge()
    {//实例变量x对应的getter
       returnx;
    }

    getAge()->去掉get和参数部分->Age->将首字母变小写->age 这里得到的age就是属性(property),它与x字段对应

以上是关于getter和setter的主要内容,如果未能解决你的问题,请参考以下文章

Python 抽象 setter 和 getter

JavaBean的getters和setters方法自动生成

什么是getter和setter方法

自动实现的 getter 和 setter 与公共字段

在 Lombok 中省略一个 Setter/Getter

Getter Setter:使用还是不使用?