1. 类
package cn.itcast.day06.demo03; /* 对于基本类型当中的boolean值,Getter方法一定要写成isXxx的形式,而setXxx规则不变。 */ public class Student { private String name; // 姓名 private int age; // 年龄 private boolean male; // 是不是爷们儿 public void setMale(boolean b) { male = b; } public boolean isMale() { return male; } public void setName(String str) { name = str; } public String getName() { return name; } public void setAge(int num) { age = num; } public int getAge() { return age; } }
2. 对象
package cn.itcast.day06.demo03; public class Demo03Person { public static void main(String[] args) { Person person = new Person(); person.show(); person.name = "赵丽颖"; // person.age = -20; // 直接访问private内容,错误写法! person.setAge(20); person.show(); } }
3. 间接访问private成员变量
package cn.itcast.day06.demo03; /* 问题描述:定义Person的年龄时,无法阻止不合理的数值被设置进来。 解决方案:用private关键字将需要保护的成员变量进行修饰。 一旦使用了private进行修饰,那么本类当中仍然可以随意访问。 但是!超出了本类范围之外就不能再直接访问了。 间接访问private成员变量,就是定义一对儿Getter/Setter方法 必须叫setXxx或者是getXxx命名规则。 对于Getter来说,不能有参数,返回值类型和成员变量对应; 对于Setter来说,不能有返回值,参数类型和成员变量对应。 */ public class Person { String name; // 姓名 private int age; // 年龄 public void show() { System.out.println("我叫:" + name + ",年龄:" + age); } // 这个成员方法,专门用于向age设置数据 public void setAge(int num) { if (num < 100 && num >= 9) { // 如果是合理情况 age = num; } else { System.out.println("数据不合理!"); } } // 这个成员方法,专门私语获取age的数据 public int getAge() { return age; } }