java private_Java private关键字

1.

封装性在java中的体现:

方法就是一种封装

关键字private也是一种封装

封装就是将一些细节信息隐藏起来,对于外界不可见

问题描述:定义年龄的时候,无法阻止不合理的数值被设置进来

解决方案:用private关键字将需要保护的成员变量进行修饰

一旦使用了private进行修饰,那么本类中仍然可以随意访问,但是超出了本类范围之外的就不能再直接访问了

public class personPrivate {

String name;

int age;

public void show() {

System.out.println("我叫:" + name + ", 年龄:" + age);

}

}

public class Demo03Person {

public static void main(String[] args) {

personPrivate prson = new personPrivate();

prson.show();

prson.name = "小赵";

prson.age = -12;

prson.show();

}

}

dad330fa81c48ee58e8699ba7128f355.png

如果对age设置成private

811382028f2f81a0c138dfb66e784301.png

b2e22bf4da852748ea0d4bca8d1a1d40.png

那么在其他类中不能直接访问,怎样才能间接访问呢?

间接访问private成员变量,就是定义一对setter/getter

00ea343fb734de45bd97d4ddf6d2fd96.png

0777bb2f07e9691ac1fc02f74b60249f.png

那既然可以间接设置age,我可以prson.setAge(-12),为什么还要这样做呢?

因为,我们可以在setAge方法里面设置限制条件,这样就能够去除一些不符合条件的数值了

90b069cf7e5f1a64ed6228a736fa231d.png

84614c80fadd9f1d9e669ead2b09558a.png

f84e4d6f9f1caeb774b7203679e8e0cf.png

注意:必须叫setXxx或者是getXxx命名规则

对于Getter,不能有参数,返回值类型和成员变量类型对应。

对应Setter,不能有返回值,参数类型与成员变量类型对应。

2.

现在可以用@Getter和@Setter,而不需要再写set方法和get方法

@Getter和@Setter 出现的目的是

public int getFoo() {return foo;} 不需要在写get 和 set 方法。

您可以使用@Getter或@Setter来注释任何字段,以使lombok自动生成默认的getter / setter。

lombok生成的getter / setter方法默认作用域将是public

除非你明确指定一个AccessLevel

046e2546394c70cb8947bc6d4181e9bc.png

be31238dba8f9101f58a80c62002fb04.png

参与评论 您还未登录,请先 登录 后发表或查看评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:1024 设计师:我叫白小胖 返回首页

打赏作者

weixin_39653764

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值