Java封装 及 private 权限的应用
Java封装
概念
- 将类的某些信息隐藏在类的内部,不允许外部程序直接访问,而是通过该类提供的方法来对隐藏的信息进行操作和访问
优点
-
只能通过规定的方法访问数据
-
隐藏类的实例细节,方便修改和实现
private 私有权限
概念
- private:私有的,不可公开的意思。权限范围:只能供 “本类” 进行使用
使用方式
- private 可以修饰方法,也可以修饰变量,但不可以修饰类
this 关键字用法
- 当局部变量和成员变量重名的时候,在方法中使用this表示成员变量以示区分
实现步骤
-
修改属性的可见性设为(private)
-
创建getTer/setTer方法(用于属性的读写)(通过这两种方法对数据进行获取和设定,对象通过调用这两种方法实现对数据的读写)
-
在getTer/setTer方法中加入属性控制语句(对属性值的合法性进行判断)
代码演示
- 将年龄、性别设置私有权限
package opp;
public class Student {
String name;
private int age; // 年龄 私有化
private boolean sex; // 性别 私有化
public int getAge() {
return age;
}
public void setAge(int age) {
// 对属性值的合法性进行判断
if(age < 0 || age >120){
System.out.println("非法年龄!");
return;
}
this.age = age; // this.age 表示对象的属性,age 表示形式参数。将形式参数赋值给对象的属性
}
public boolean isSex() { // 布尔类型,一般将get方式,写为is方式
return sex;
}
public void setSex(boolean sex) {
this.sex = sex;
}
}
package opp;
public class StudentTest {
public static void main(String[] args) {
Student stu = new Student();
stu.name = "wzz";
stu.setAge(180);
stu.setSex(false);
int age = stu.getAge();
boolean sex = stu.isSex();
if(sex == false){
System.out.println("男孩子");
}else{
System.out.println("女孩子");
}
System.out.println(stu.name+",今年"+age+"!!!");
}
}
程序运行效果
非法年龄!
男孩子
wzz,今年0!!!