I学霸官方免费教程十三:Java面向对象三大特性之封装
来源:互联网 发布:云计算平台的特点包括 编辑:程序博客网 时间:2024/04/30 01:18
面向对象的三大特性
封装
将数据(属性)和功能(方法)包装在一起,形成一个不可分割的整体。对使用者提供访问的接口(方法的调用)另一种简单的说法是,将属性私有化,对外提供公共的getter和setter方法
使用封装的优势:安全(屏蔽非法操作,隐藏类的实现细节)
实例:package characteristic.encapsulation;/** * 用于演示封装 * 类中封装了属性和方法 * @author 学霸联盟 - 赵灿 */public class Person {//私有的属性年龄private int privateAge;//公共的属性年龄,用于和私有年龄做对比public int publicAge;//设置私有年龄,该方法对属性privateAge进行了封装public void setPrivateAge(int age) {if(age < 0){System.out.println("输入的年龄有误!");} else {privateAge = age;}}//获取私有的年龄public int getPrivateAge() {return privateAge;}}package characteristic.encapsulation;/** * 测试封装 * @author 学霸联盟 - 赵灿 */public class Test {public static void main(String[] args) {//创建Person类的对象Person p = new Person();//设置公有的年龄p.publicAge = -1;//输出公有的年龄System.out.println("公有的年龄:" + p.publicAge);//设置私有的年龄p.setPrivateAge(-1);//输出私有的年龄System.out.println("私有的年龄:" + p.getPrivateAge());}}运行结果:公有的年龄:-1输入的年龄有误!私有的年龄:18
其实方法也可以看成类内部的一种封装,将事项某个功能的一些列代码封装到一个方法中,方法名就是方法提供给外界使用的接口。这样就实现了代码的复用(重复的使用),当有多处需要同样功能代码的时候,就可以重复的调用这一方法
/** * 演示输出人员的姓名和年龄信息 * @author 学霸联盟 - 赵灿 */public class Demo {public static void main(String[] args) {Person p1 = new Person("张三", 18);Person p2 = new Person("李四", 20);/**************** 方式一:直接输出两个对象的姓名的年龄 *******************/System.out.println("----------方式一----------");System.out.println("姓名:" + p1.name + " 年龄:" + p1.age);System.out.println("姓名:" + p2.name + " 年龄:" + p2.age);/**************** 方式二:调用输出信息的方法输出两个对象的姓名和年龄 *******************/System.out.println("----------方式二----------");p1.printInfo();p2.printInfo();}}class Person {String name;int age;public Person(String name, int age) {this.name = name;this.age = age;}public void printInfo() {System.out.println("姓名:" + name + " 年龄:" + age);}}运行结果:----------方式一----------姓名:张三 年龄:18姓名:李四 年龄:20----------方式二----------姓名:张三 年龄:18姓名:李四 年龄:20哪种简单就不用我说了吧
封装的优势在于复用代码,安全性,隐私性等
0 0
- I学霸官方免费教程十三:Java面向对象三大特性之封装
- I学霸官方免费教程十四:Java面向对象三大特性之继承
- I学霸官方免费教程十五:Java面向对象三大特性之多态
- I学霸官方免费教程十六:Java面向对象之抽象类
- I学霸官方免费教程十七:Java面向对象之接口
- I学霸官方免费教程三:Java基础之注释 关键字 标识符
- I学霸官方免费教程四十三 :Java流之字符流 Reader和Writer
- I学霸官方免费教程二十三:Java常用类之日期类 Date类 SimpleDateFormat类 Calendar类
- java面向对象的三大特性之封装
- Java面向对象三大特性之封装
- java-面向对象编程-三大特性之封装
- 第十五、Java面向对象三大特性之封装
- 【java基础知识】面向对象的三大特性之封装
- Java面向对象的三大特性之--《封装》
- 面向对象三大特性之封装
- 面向对象三大特性之封装
- java面向对象三大特性-封装
- java面向对象三大特性--封装
- 使用jquery easyui dialog 加载远程页面时,远程页面有CKEDITOR等需要调用JS,解决方案:
- mongodb 3.0 用户管理
- java 根据当前日期获取本周或上周日期区间
- 区间最小值(2) (线段树 更新区间)2015年 JXNU_ACS 算法组暑假第一次周赛
- wcf生成代理类(SVCUtil.exe的用法)
- I学霸官方免费教程十三:Java面向对象三大特性之封装
- 决策树ID3、C4.5、CART算法:信息熵,区别,剪枝理论总结
- HashMap与ConcurrentHashMap
- UML类图关系(泛化 、继承、实现、依赖、关联、聚合、组合)
- 游戏剧情设计:如何创作好故事
- 互斥锁与条件变量的配合
- 线段树之HDU4614 Vases and Flowers
- HDU 1242 Rescue(BFS+优先队列)
- Struts2 - 常用的constant总结