Java中为何使用get和set方法

java的一个重要思想是面向对象,针对某个对象,会包含各种各样的属性,而这些属性,有的是外部可见的有的是不可见的,也就是常用的public 和private。针对public 在这里不多说,重点说一下private定义的属性。

有的人会问,既然定义了private 为什么还要有get和set方法,其实简单的说法就是,语法规定,为了实现接口的调用,而不是直接操作某个对象的属性。只是简单的get和set属性值,其实和定义成public是没有什么区别的。区别主要在与当需要对输入数据进行统一管理和修改。如

    public class People{
       private String name;
       private String sex;
      
      public void setName(String name) {
          this.name = "this is people name is " + name;
      }
     
     public String getName(){
      return  "名字是:" + name
    }

     public void setSex(String sex) {//统一数据管理
        if("男”.equals.(sex) || "男性".equals(sex)) {
           this.sex = 1;
        }
     }
 }

这种情况下就体现出来了get个set方法的优势了,统一了数据的输出和输入内容,针对输入和输入的数据进一步封装修改、---------------------------------体现了灵活性
在就是对外,只能调用提供的get和set方法(接口),不可对属性值全部了解。可以根据所需,针对属性设计成只读/只写。---------------------体现了封闭性

1、隐藏内部实现细节,保证代码的安全,同时也可以提升数据的安全性。

使用类的人不关心你的类中有什么,只关心类提供了什么功能
所以设计类的时候要尽量不提供public的成员变量,最好一个都没有,只提供接口
提供类的人要尽量将类中有什么隐藏起来,只告诉使用者你能做什么
2、在继承的时候,更灵活的数据管理 。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值