/
演示封装的思想
/
class Person
{
String name;
private int age; //将字段age设置为私有,不允许外部直接访问或修改(在本类中是可以访问)
//专门用于给对象设置age数据,并把传过来的数据保存到对象中
void setAge(int a)
{
if(a<0 || a>120)
{
System.out.println("***错误的年龄范围");
}
age = a; //年龄合法的话则赋值给私有字段age进行保存
}
//定义一个获取年龄的方法
int getAge()
{
return age;
}
}
class SealLoadedDemo
{
public static void main(String[] args)
{
Person p = new Person();
p.name = "toby";
//年龄设置为负数,int类型包括负数的范围,但对于人来讲,人的年龄为负数是不合理的,导致设置数据不安全的问题,所以既然不合理,就需要给出提示,那么提示写在哪里写?
//p.age = -18; //此时字段age是私有的,因此不能直接设置数据
p.setAge(25); //设置年龄
int age = p.getAge(); //获取年龄
//System.out.println(p.name+","+p.age);
System.out.println(p.name+","+age);
}
}
/
至此,这就是封装的概念,将年龄得到了保护,不会被随意的设置age
setAge() 方法就是暴露给用户用于设置年龄的接口
getAge() 方法就是暴露给用户用于获取年龄的接口
/
本文转自 TtrToby 51CTO博客,原文链接:http://blog.51cto.com/freshair/2048641