• 18Java封装/private与public关键字


    目录

    一、封装

    二、private/public关键字


    一、封装

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

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

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

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

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

    二、private/public关键字

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

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

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

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

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

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

    1. class Student {
    2. //成员变量
    3. String name;
    4. private int age;
    5. //提供set方法,给成员变量age进行赋值
    6. public void setAge(int a) {
    7. if(a<0 || a>120) {
    8. System.out.println("你给的年龄有误");
    9. } else {
    10. age = a;
    11. }
    12. }
    13. //提供get方法,对外提供name属性
    14. public int getAge() {
    15. return age;
    16. }
    17. //成员方法
    18. public void show() {
    19. System.out.println(name + "," + age);
    20. }
    21. }
    22. public class StudentDemo {
    23. public static void main(String[] args) {
    24. //创建对象
    25. Student s = new Student();
    26. //给成员变量赋值
    27. s.name = "林青霞";
    28. s.setAge(30);
    29. //调用show方法
    30. s.show();
    31. }
    32. }

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

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

  • 相关阅读:
    85智慧楼宇建设解决方案
    【5G】5G中的CU和DU是什么?
    抽象的算法0.1.2版本
    C++模拟OpenGL库——图形学状态机接口封装(二):基于状态机接口的画线&画三角形
    Go学习之路:方法和接口(DAY 3)
    手部关键点检测1:手部关键点(手部姿势估计)数据集(含下载链接)
    HNU-CSer的推免经历记录
    R 语言学习教程,从入门到精通,R 基础运算(5)
    WebAssembly 和javaScript的差异
    如何PDF转Word文档?两分钟教你三个方法
  • 原文地址:https://blog.csdn.net/qq_61176213/article/details/127454938