Java封装如何使用?为什么要封装?封装有哪些好处?
-
面向对象的三个特性:
1、封装
2、继承
3、多态 -
封装的表现
1、方法
2、类 -
为什么要封装?封装的好处有哪些?
1、提高了安全性
2、提高了复用性
3、隐藏了实现细节
问题:当对于当前的age属性来说 他可以随意的调用 他可以被随意的赋值
解决:让age不在那么容易被调用 并且对所赋予的值加以判断
因此我们需要对age的属性进行封装
-
关键字private
被private修饰的成员只能在本类中使用 -
对属性进行安全性的封装
实现步骤
1、对属性进行私有化
2、对外提供公开的set/get方法
3、如果该属性需要安全性的判断 将这些代码写在set中 -
小技巧
在使用eclipse写java程序中 同时按shift+Alt+s 选择Generate Getters and setters
可以自动的写出set\get的方法//测试类 Stu s = new Stu(); s.setAge(-12); if(s.getAge() != -1){ System.out.println("您的年龄是:"+s.getAge()); }else{ //在stu类中会进行对输入年龄的范围判断 System.out.println("您的年龄还未设置"); } }
//调用的stu类
private String name; private int age; public void setAge(int age){ if( age >= 0 && age <= 120){ //如果不加以判断年龄范围会超出 //所以添加if语句判断 this.age = age; }else{ //age不是正常范围 将age赋值为-1 在测试类中判断 //如果age的值为-1 则进行输出语句 this.age = -1; } } public int getAge(){ return this.age; } public void setName(String name){ this.name = name; } public String getName(){ return this.name; } }
新人学习Java 如果有错误请多多指正 有一起学习的可以一起交流