set值报错 java_Java中的get()方法和set()方法

在java中,为了数据的安全,换句话说就是为了隐藏你的代码的一些实现细节,我们会用private来修饰属性,使用private修饰的属性就不能被其他类直接访问了,想要访问就需要通过set、get方法;顾名思义,set是设置数据,ge是得到数据。不知道你想不想问,那我通过get、set 方法还是能访问到数据,为啥说数据变安全了呢?先说有了set、get方法,假如别人的类需要用到你的类里面的name,而你用了private修饰name,他就得通过getname()方法来得到你的name数据,并且是只得到了name数据,想要瞅一眼别的?没门。那要是没有用private修饰属性呢?他是不是想要哪个要哪个,想改哪个改哪个,简直是为所欲为啊。好了,上代码:

第一个类:person01

1 package test;

2

3 public class person01 {

4

5 //用private来修饰属性

6 private string name;

7 private int age;

8

9 //给属性添加get、set方法

10 public string getname() {

11 return name;

12 }

13

14 public void setname(string name) {

15 this.name = name;

16 }

17

18 public int getage() {

19 return age;

20 }

21

22 public void setage(int age) {

23 this.age = age;

24 }

25

26 }

第二个类:person02

1 package test;

2

3 public class person02 {

4

5 public static void main(string[] args) {

6 //创建的是前面的类person01类的对象

7 person01 p1 = new person01();

8

9 //现在我想给person01(别人的类)的属性附上值,然后拿过来用

10

11 //不能这样赋值 如果给person01里name的private修饰符去掉就可以这样赋值

12 // p1.name = "张三";

13

14 //通过set方法赋值

15 p1.setname("张三");

16

17 //是不是每一个set只能赋一个值 如果把person01类的setage()方法删掉,那这个就会报错

18 p1.setage(18);

19

20 //这样拿不到值,会报错

21 // system.out.println("姓名:"+p1.name+"\n年龄:"+p1.age);

22

23 //得通过get方法才能拿到

24 system.out.println("姓名:"+p1.getname()+"\n年龄:"+p1.getage());

25

26 }

27

28 }

结果:

姓名:张三

年龄:18

希望与广大网友互动??

点此进行留言吧!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值