首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

如何理解封装啊

2012-09-04 
怎么理解封装啊?把成员变量private了,但是方法却是public的,不是一样可以被外部类调用并篡改吗?初学不懂,

怎么理解封装啊?
把成员变量private了,但是方法却是public的,不是一样可以被外部类调用并篡改吗?初学不懂,请高手点拨几下。最好能写出体现封装好处的代码,对比着写并打上注释,谢啦

[解决办法]
我的理解是①设立public方法,一定是此成员变量需要被外界调用的。②此成员变量不希望被任意修改,所以设成了private。其实并不矛盾,与直接将成员变量public不同,这种方法可以通过修改方法来限制外部的修改

Java code
public class Person {    private int age;        public int getAge() {        return age;    }        public void setAge(int age) {        if(age < 0 || age > 1000)            throw new RuntimeException("年齡異常");        this.age = age;    }} 

热点排行