7.4 private 成员变量的私有

/*
* 学生类(age不能为负数。将age参数私有,创建方法判断age不为负。被private修饰的成员只能在本类中被访问,若想访问可以使用get、set方法)
*
* 通过对象直接访问成员变量,会存在数据安全问题
* 这个时候,我们就想能不能不让外界的对象直接访问成员变量呢?
* 能。
* 如何实现呢?
* private关键字
*
* private:
* 是一个修饰符
* 可以修饰成员变量,也可以修饰成员方法
* 被private修饰的成员只能在本类中被访问
*
* 针对private修饰的成员变量,我们会相应的提供getXxx()和setXxx()用于获取和设置成员变量的值,方法用public修饰
*/
public class PrivateStudent {
    String name;
//    int age;
    private int age;

    public void setAge(int a) {
//        age = a;
        if(a >0 && a < 200) {
            age = a;
        }else {
            System.out.println("输入有误");
        }
    }

    public int getAge() {
        return age;
    }

    public void show() {
        System.out.println("name:"+name+",age:"+age);
    }

}
public class PrivateStudentUse {
    public static void main(String[] args) {
        PrivateStudent s = new PrivateStudent();

        s.show();
//        System.out.println(s.name+"--"+s.age);
        s.setAge(3);
        System.out.println(s.name+"---"+s.getAge());

        s.setAge(-2);
        System.out.println(s.name+"---"+s.getAge());

        s.show();

    }
}

输出如下

原文地址:https://www.cnblogs.com/longesang/p/10978340.html