封装
- 什么是封装?为什么要使用封装。
- private关键字
- 构造方法
- this关键字
什么是封装?
- 定义:Java中通过将数据声明私有的(private) ,再提供公共的(public) 方法:getXxx()和setXxx()实现对该属性的操作。
- 封装的目的:
隐藏一个类中不需要对外提供的实现细节
使用者只能通过事先定制好的方法来访问数据,可以方便的加入控制逻辑,限制对属性的不合理的操作
便于修改、增强代码的可维护性
安全性更好
- 封装实现的步骤
注意:对封装的属性不一定要通过get或set方法,其他方法也可以对封装的属性进行操作,最好使用get或set方法。
代码示例
public class Student {
//将属性定义为private,只能被Student类内部访问
private int stuNo;//学号
private String stuName;//姓名
private int stuAge;//年龄
//在这里定义get和set方法
public int getStuAge(){
return stuAge;
}
public void setStuAge(int age){
if(age>=3 && age<=25){
stuAge=age;
}else{
System.out.println("输入有误,学生年龄最小为3岁,最大为25岁");
}
}
//其他get和set方法省略
//个人介绍
public void desc(){
System.out.println("大家好,我叫:"+stuName+",今年:"+stuAge+"岁,"
+ "我的学号是:"+stuNo);
}
}
测试
public static void main(String[] args) {
//创建对象
Student stu=new Student();
//调用属性
stu.setStuNo(10001);
stu.setStuName("张三");
stu.setStuAge(-100);
//调用方法
stu.desc();
}
修饰符
四种访问修饰符
- public
- private
- protected
- default(缺省)
public>protected>default(缺省)>private
修饰符的作用范围
构造方法
特点:具有与类相同的名称
. . . . . .不声明返回值类型
作用:创建对象:给对象进行初始化
例子
//创建一个Student学生类,编写构造方法
//无参构造
public Student(){}
//有参构造
public Student(String name,Int age){}
this关键词
this表示当前对象,可以调用类的属性,方法和构造方法
什么时候使用?
当在方法内需要用到调用该方法的对象时,就用this
注意:当形参与成员变量重名时,如果在方法内部需要使用成员变量,必须添加this来表明该变量是该类的成员。
在任何方法内,如果使用当前类的成员变量或者成员方法可以在其前面加this,增强程序的阅读性.