/*
* 学生类(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(); } }
输出如下