2.1 Java封装及 private 权限的应用

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!!!
上一篇:Hello 2022 cf题目解析


下一篇:【例3-8】顺序结构综合应用(4)