java基础-隐藏和封装
我们知道类内部定义的属性(对象的成员变量)直接操作会导致数据的错误,混乱,安全性问题等
那么如果你还不太明白上面的话,让我们来看下面代码演示
package yichang; public class demo { public int age; public void printAge(){ System.out.println(age); } }
package yichang; public class test1 { public static void main(String[] args) { demo p =new demo(); p.age=2; p.printAge(); } }
那么程序是没有什么问题的对吧。但是
这样的情况类的属性age被开放出来了,可以在外面的类,调用者等随意使用,这样就会有问题,比如age=-3034等负数都有可能
所以需要改进,不能让调用者随意使用
package yichang; public class demo { private int age; public void printAge(){ System.out.println(age); } //设置一个方法 public void setAge(int a){ if(a<=150&&a>=0) { age =a; } else { System.out.println("输入的年龄不符"); } } }
package yichang; public class test1 { public static void main(String[] args) { demo p =new demo(); p.setAge(2); p.printAge(); } }
那么这就是封装和隐藏
将变量设置为私有private
然后通过set get等设置对属性操作
也增加了代码的可维护性。