封装
3、封装 概述: 隐藏对象的属性的实现细节,仅对外提供公共访问方式 案例: 使用这个案例中 发现了一个问题,通过成员变量可以赋值一些非法的数据。 赋值前应先进行判断。判断在哪里做比较合适呢? 判断应该定义在student类中,而我们在成员变量的位置不能判断。因为做数据校验,必须要依靠逻辑语句。逻辑语句应该定义在方法中。最终决定在student类中提供一个方法校验。 public void setAge ( int a ) { if ( a < 0 || age > 120 ) { System . out . println ( "你给的年龄有问题" ) ; } else { age = a ; } } 我们给出了方法进行校验,但是,它不用方法,还是直接赋值了。方法就没有起到作用。 就应该要求它必须使用方法 // 创建学生对象 Student s = new Student ( ) ; // 给成员变量赋值 s . setAge ( 18 ) ; s . name = "周十七" ; s . show ( ) ; s . age = - 17 ; s . show ( ) ; } 怎么强制使用方法,不走成员变量? private:关键字可以修饰成员变量和成员方法 注意:被private修饰的成员只能在本类中访问。 private int age ; public class