Java的封装与构造
理解封装
将数据和方法加以包装,使之成为一个实体,并与外部对象分隔开来的机制,具体而言,将一个对象的属性以及方法封装在统一的类中,对外隐藏具体实现细节,对外提供有效的访问接口,实现对象的保护与隔离,使用户不能随意访问和修改对象的属性
- get与set过程,又称为读改过程
- 封装方法:
- 外部程序只能通过指定的操作入口进行访问
- 当实现细节非常复杂时,封装的优势尽显
- 被封装的独立体,代码复用性提高,降低代码耦合度
封装语法
- 私有化:private,无论方法属性只能在本类中访问,在需要封装的属性前用private修饰
- 每个属性提供公开的getter和setter方法
- getter:读取,语法:
public 属性的类型 get[属性名,首字母大小写](){return this.变量名} - setter:修改,语法:
public 属性的类型(通常是void) set[属性名,首字母大小写](类型 属性名){...} - 当然,为了更符合业务逻辑,可以在对应的getter和setter方法中编写逻辑代码,控制程序走向
- this在其中区分实例变量和局部变量
- 以上的读改过程是除了boolean基本数据类型的,布尔类型的是isXxx()
- getter:读取,语法:
- 每个属性提供公开的getter和setter方法
构造方法
- 又称构造器(Constructer)
- 例如:
Customer c1 = new Customer()中构造方法名与类名保持一致,严格而言,此处不在是类名,而是一个方法名 - 作用:创建对象,以及对象属性初始化
- 定义:
[修饰符列表] 构造方法名(形式参数列表){...}
- 调用:
new 构造方法名(实参); - 底层执行:有返回值且有规定类型,但表层不用指定返回值类型,返回的是对象在堆内存的内存地址
- 无参数方法?一个类中没有显示的提供任何构造方法,系统会默认提供一个无参数的构造方法,当然,只要手动显示了构造方法,则不会默认提供,为了保险,还是要手动提供无参数构造方法(手动方法重载)
- 与其他方法的区别是:方法名与类名一致,不用指定返回值类型

浙公网安备 33010602011771号