只能通过规定的方法访问数据
隐藏类的实例细节,方便修改和实现
修改属性的可见性设为(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!!!