Java的封装与构造

理解封装

将数据和方法加以包装,使之成为一个实体,并与外部对象分隔开来的机制,具体而言,将一个对象的属性以及方法封装在统一的类中,对外隐藏具体实现细节,对外提供有效的访问接口,实现对象的保护与隔离,使用户不能随意访问和修改对象的属性

  • get与set过程,又称为读改过程
  • 封装方法:
    • 外部程序只能通过指定的操作入口进行访问
    • 当实现细节非常复杂时,封装的优势尽显
    • 被封装的独立体,代码复用性提高,降低代码耦合度

封装语法

  • 私有化:private,无论方法属性只能在本类中访问,在需要封装的属性前用private修饰
    • 每个属性提供公开的getter和setter方法
      • getter:读取,语法:public 属性的类型 get[属性名,首字母大小写](){return this.变量名}
      • setter:修改,语法:public 属性的类型(通常是void) set[属性名,首字母大小写](类型 属性名){...}
      • 当然,为了更符合业务逻辑,可以在对应的getter和setter方法中编写逻辑代码,控制程序走向
      • this在其中区分实例变量和局部变量
      • 以上的读改过程是除了boolean基本数据类型的,布尔类型的是isXxx()

构造方法

  • 又称构造器(Constructer)
  • 例如:Customer c1 = new Customer()中构造方法名与类名保持一致,严格而言,此处不在是类名,而是一个方法名
  • 作用:创建对象,以及对象属性初始化
  • 定义:
[修饰符列表] 构造方法名(形式参数列表){...}
  • 调用:new 构造方法名(实参);
  • 底层执行:有返回值且有规定类型,但表层不用指定返回值类型,返回的是对象在堆内存的内存地址
  • 无参数方法?一个类中没有显示的提供任何构造方法,系统会默认提供一个无参数的构造方法,当然,只要手动显示了构造方法,则不会默认提供,为了保险,还是要手动提供无参数构造方法(手动方法重载)
  • 与其他方法的区别是:方法名与类名一致,不用指定返回值类型
posted @ 2026-08-19 15:24  飞猪上树  阅读(16)  评论(0)    收藏  举报