<强> 1,封装是什么?以及为什么要进行封装? 强>
通常情况下可以给成员变量赋值一些合法但不合理的数值,这种情况在编译阶段和运行阶段都不会报错或给出任何的提示信息,此数值虽然合法但与现实生活不符;为了避免上述问题的发生,就需要对成员变量进行密封包装处理来保证该成员变量的合法合理性,这种机制就叫做封装。封装可以被认为是一个保护屏障,防止该类的代码和数据被外部类定义的代码随机访问。要访问该类的代码和数据,必须通过严格的接口控制。
<强> 2,如何进行封装? 强>
(1)私有化成员变量,使用私人关键字修饰;
(2)提供公有的获取和设置方法,在方法体中进行合理值的判断,使用公共关键字修饰;
(3)在构造方法中使用集方法进行合理值的判断;
<强> 3,事例如下/*位于*/强>
/* 编程实现人类的封装 */公共类人{//1 .私有化成员变量,使用私人关键字修饰 私人字符串名称; 私人int年龄; 私人的字符串;//使用静态关键字修饰成员变量表示提升为类层级只有一份被所有对象共享//公共静态字符串;//3 .在构造方法中调用集方法进行合理值的判断 公众人物(){ } 公众人物(字符串名称,int年龄,字符串){ setName(名称); setAge(年龄); setCountry(国家); }//2 .提供公有的获取和设置方法,在方法体中进行合理值的判断 公共字符串getName () { 返回名称; } 公共空间setName(字符串名称){ this.name=名称; } 公共int getAge () { 返回年龄; } 公共空间setAge (int年龄){ 如果年龄比;0,,年龄& lt;150){ 这一点。年龄=年龄; 其他}{ System.out.println(“年龄不合理! ! !”); } } 公共字符串getCountry () { 返回; } 公共空间setCountry (String) { 这一点。=国家; } 公共空间展示(){ system . out。println(“我是”+ getName() +”,今年”+ getAge() +“岁了,来自“+ getCountry () +“!”); }//自定义成员方法描述吃饭的行为 公共空间吃(String) { system . out。println(食物+”真好吃!”); }//自定义成员方法描述娱乐的行为 公共空间玩游戏(String) { system . out。println(游戏+”真好玩!”); } }