java将属性设置为私有,在给其添加get/set方法和直接把属性设置成public有什么区别

2023-11-13

现在以信用卡为例简单介绍下:

public class TestEncapsulation{
   public sataic void main(String[] args){
      CreditCard card = new CreditCard();
      System.out.println(card.password);
      card.password="1234";
     }
}

class CreditCard{
   public String password="123456";
}

如果CreditCard类的属性password是public的访问权限,那么当信用卡丢失时,无论是谁都可以修改和获取这张信用卡的密码。所以需要进行条件限制。

public class TestEncapsulation{
   public sataic void main(String[] args){
      CreditCard card = new CreditCard();
   card.getPassword("1234567890");当身份证号正确时才能获取卡的密码
      card.setPassword("234567");设置卡的密码时只能设置为6位密码
     }
}

class CreditCard{
   public String password="123456";
      public String getPassword(String UserId) {
      if(UserId!=1234567890) return;
      return password;
 }

 public void setPassword(String password) {
    if(password.length!=6) return;
    this.password = password;
 }
}

现在当有人捡到这张卡时,就不能直接修改和获取卡的密码了,需要通过一定的条件才能修改和获取卡的密码。




本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

java将属性设置为私有,在给其添加get/set方法和直接把属性设置成public有什么区别 的相关文章

随机推荐