学习Java的第十二天-封装
什么是封装
Java中通过将数据声明为私有的(private),再提供公共的(public)方法:getXxx()和setXxx()实现对该属性的操作,以实现下述目的:
隐藏一个类中不需要对外提供的实现细节;
使用者只能通过事先定制好的方法来访问数据,可以方便地加入控制逻辑,限制对属性的不合理操作;
便于修改,增强代码的可维护性
安全性更好
封装的实现步骤
需要注意:对封装的属性不一定要通过get/set方法,其他方法也可以对封装的属性进行操作。当然最好使用get/set方法,比较标准。
封装的具体实现
测试:通过set方法为各个属性赋值
四种访问权限修饰符
什么是构造方法
构造器的特征
它具有与类相同的名称
它不声明返回值类型。
构造器的作用:创建对象;给对象进行初始化
如:Order o = new Order(); Student s = new Student(“张三”,15);
如同我们规定每个“人”一出生就必须先洗澡,我们就可以在“人”的构造方法中加入完成“洗澡”的程序代码,于是每个“人”一出生就会自动完成“洗澡”,程序就不必再在每个人刚出生时一个一个地告诉他们要“洗澡”了。
构造方法
根据参数不同,构造方法可以分为如下两类:
隐式无参构造方法(系统默认提供)
显式定义一个或多个构造方法(无参、有参)
注 意:
Java语言中,每个类都至少有一个构造方法
默认构造方法的修饰符与所属类的修饰符一致
一旦显式定义了构造方法,则系统不再提供默认构造方法
一个类可以创建多个重载的构造方法
父类的构造方法不可被子类继承
具体实现-无参构造方法
具体实现-测试
具体实现-有参构造方法
通过调用带参的构造方法,简化对象初始化代码
构造方法重载
通过调用不同的构造方法来表达对象的多种初始化行为
例如:
默认情况下,我只想给姓名属性赋值,初始化时,只需提供学生姓名
有时,需要提供所在地址及学生姓名
为什么使用this关键字
this关键字
在java中,this关键字比较难理解,它的作用和其词义很接近。
它在方法内部使用,即这个方法所属对象的引用;
它在构造方法内部使用,表示该构造方法正在初始化的对象
this表示当前对象,可以调用类的属性、方法和构造方法
什么时候使用this关键字呢?
当在方法内需要用到调用该方法的对象时,就用this。
使用this,调用属性、方法
1.当形参与成员变量重名时,如果在方法内部需要使用成员变量,必须添加this来表明该变量是类成员
2.在任意方法内,如果使用当前类的成员变量或成员方法可以在其前面添加this,增强程序的阅读性