问题:age在直接被其余程序建立对象后访问,形成安全隐患。java
class Person{ int age; //定义成员变量 void speak(){ //定义成员方法 System.out.println("age="+age); } } class PersonDemo{ public static void main(String[] args){ Person p=new Person(); //建立Person类的一个实例化对象 p.age=19; //将类成员变量赋值为19 p.speak(); //使用对象调用类成员 } }
解决:封装,让age不被访问安全
class Person{ private int age; //为age设置访问权限 public void show(int a){ age = a; if(a>1&&a<130){ speak(); }else{ System.out.println("数据不存在"); } } void speak(){ System.out.println("age="+age); } } class PersonDemo{ public static void main(String[] args){ Person p=new Person(); p.show(19); } }
总结:封装的思想-->对客户隐藏其实现细节。采用封装的思想保证了类内部数据结构的完整性,应用该类的用户不能轻易地直接操做此数据结构,只能执行类容许公开的数据。这样避免了外部数据对内部数据的影响,提升了程序的可维护性。数据结构