要在公有类而非公有域中使用访问方法

公有类不应该直接暴露公有域,而应使用访问方法以保持内部表示的灵活性和数据安全性。通过提供访问方法,可以在不修改外部接口的情况下调整内部实现,避免将可变域暴露给客户端,确保类的稳定性和封装性。
摘要由CSDN通过智能技术生成

要在公有类而非公有域中使用访问方法

  • 公有域 :域就是类中的成员变量,有时也叫字段,属性都是同一个意思。公有域就是能在其它类中直接访问的域,也就是带有域。
class Test {
    private int a;   // 这是一个私有域,只能在本类访问
    public int b;    // 这就是一个公有域了,可以在其它类中直接访问
    
    protected int c;      // 这是保护域,这类域可以在本类及其子类,还有与在本类所在同一包下的其类中直接访问
}
  • 要在公有类而非公有域中使用访问方法
    举个例子:
class User {
      public String name;
      public Integer old;
}

如上这样的类绝不应该声名为public,因为一旦声名为了public,该类中所有的数据就全部暴露出来,并且无法改变它的数据表示法,也无法强加任何约束条件,当被访问的时候,无法采取任何辅助措施,这么多问题,归结原因就是因为如果类声明不当,那么可能会将整个数据域全部暴露给客户端。虽然,对于可变类来说,应该用包含私有域和仅有设置方法的类代替:

class User {
    private String name;
    
    private Integer old;

    public Integer getOld() {
        return old;
    }

    public void setOld(Integer old) {
        this.old = old;
    }

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值