18Java封装/private与public关键字

目录

一、封装

二、private/public关键字


一、封装

        封装概述:是面向对象三大特征之一(封装,继承,多态)

        对象代表什么,就得封装对应的数据,并提供数据对应的行为

        创建类的过程就是封装的过程。封装是一种信息隐蔽技术,它体现于类的说明,是对象的重要特征。通过封装可以把对象的实现细节对外界隐藏起来,具有两层含义:

  • 把对象全部属性与全部服务集合在一起,形成一个不可分割的单位
  • “信息隐蔽”,即尽可能隐蔽对象的内部细节,对外形成一个边界,只保留有限的对外接口使之与外部发生联系

封装的好处:降低学习成本,不用记对象有哪些方法,需要时去找就行

二、private/public关键字

private/public关键字可以确保正确的可以赋值,错误的无法赋值

private是一个修饰符,可以用来修饰成员(成员变量,成员方法)

被private修饰的成员,只能在本类进行访问,针对private修饰的成员变量,如果需要被其他类使用,提供相应的操作

针对每个私有化的成员变量,都要有get和set方法

 提供“get变量名()”方法,用于获取成员变量的值,方法用public修饰

 提供“set变量名(参数)”方法,用于设置成员变量的值,方法用public修饰

  class Student {
      //成员变量
      String name;
      private int age;
  
      //提供set方法,给成员变量age进行赋值
      public void setAge(int a) {
          if(a<0 || a>120) {
              System.out.println("你给的年龄有误");
          } else {
              age = a;
          }
      }
      //提供get方法,对外提供name属性
      public int getAge() {
          return age;
      }
  
      //成员方法
      public void show() {
          System.out.println(name + "," + age);
      }
  }
  public class StudentDemo {
      public static void main(String[] args) {
          //创建对象
          Student s = new Student();
          //给成员变量赋值
          s.name = "林青霞";
          s.setAge(30);
          //调用show方法
          s.show();
      }
  }

我们可不可以把setAge方法去掉,然后在main方法中直接判断年龄是否正确?

不可以,因为对象代表什么,就得封装对应的数据,并提供数据对应的行为,student方法封装了学生的所有属性,对属性校验的方法也必须封装在student方法中

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

刹那芳华❀

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

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

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

打赏作者

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

抵扣说明:

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

余额充值