Android-Java-封装
先看一个未封装的Demo案例一:
package android.java.oop03; class Person { int age; } public class PottingDemo { public static void main(String[] args) {
Person person = new Person();
person.age = -200; System.out.println("年龄是:" + person.age);
} }
执行结果:
年龄是:-200
封装后的Demo案例一:
package android.java.oop03; class Person { /**
* 加入私有private,不对外暴露
*/
private int age; public void setAge(int age) { if (age < 0 || age > 200) {
throw new IllegalArgumentException("setAge age值不规范,age value:" + age);
} this.age = age;
} public int getAge() {
return age;
}
} public class PottingDemo { public static void main(String[] args) {
Person person = new Person();
person.setAge(9); System.out.println("年龄是:" + person.getAge());
} }
执行结果:
年龄是:9
未封装的案例代码 案例二:
package android.java.oop03; class Counter { int add(int number1, int number2) {
return number1 + number2;
} int jian(int number1, int number2) {
return number1 - number2;
} int cheng(int number1, int number2) {
return number1 * number2;
} int chu(int number1, int number2) {
return number1 / number2;
} void doCounter(int number1, String f, int number2) { int result; if ("+".equals(f)) {
result = add(number1, number2);
} else if ("-".equals(f)) {
result = jian(number1, number2);
} else if ("*".equals(f)) {
result = cheng(number1, number2);
} else if ("/".equals(f)) {
result = chu(number1, number2);
} else {
throw new IllegalArgumentException("传入的运算符 有异常,不能是 f" + f);
} println(result);
} void println(int result) {
System.out.println("运算的结果是:" + result);
}
} public class PottingDemo2 { public static void main(String[] args) {
Counter counter = new Counter();
counter.doCounter(8, "+" ,8);
counter.doCounter(20,"-", 10);
counter.doCounter(9, "*", 9);
counter.doCounter(100,"/",2);
} }
执行结果:
运算的结果是:16
运算的结果是:10
运算的结果是:81
运算的结果是:50
封装的案例代码 案例二:
package android.java.oop03; class Counter { private int add(int number1, int number2) {
return number1 + number2;
} private int jian(int number1, int number2) {
return number1 - number2;
} private int cheng(int number1, int number2) {
return number1 * number2;
} private int chu(int number1, int number2) {
return number1 / number2;
} public void doCounter(int number1, String f, int number2) { int result; if ("+".equals(f)) {
result = add(number1, number2);
} else if ("-".equals(f)) {
result = jian(number1, number2);
} else if ("*".equals(f)) {
result = cheng(number1, number2);
} else if ("/".equals(f)) {
result = chu(number1, number2);
} else {
throw new IllegalArgumentException("传入的运算符 有异常,不能是 f" + f);
} println(result);
} private void println(int result) {
System.out.println("运算的结果是:" + result);
}
} public class PottingDemo2 { public static void main(String[] args) {
Counter counter = new Counter();
counter.doCounter(8, "+" ,8);
counter.doCounter(20,"-", 10);
counter.doCounter(9, "*", 9);
counter.doCounter(100,"/",2);
} }
执行结果:
运算的结果是:16
运算的结果是:10
运算的结果是:81
运算的结果是:50
1.封装可以自定义隐藏细节(private),自定义对外提供接口(public);
2.封装可以提高安全性,private;
3.封装可以提高复用性
举例:
未封装的表现:把 主版,电源,这些零件全部摆放在桌子上,每次开机时,用金属物触碰主板上的开机卡槽来开机;
1.不安全,万一不小心把水倒在主板上
2.暴露了细节
封装的表现:把 主板 电源,这些零件全部用机箱封装起来(隐藏细节),对外提供暴露的接口(USB,显示器,网卡等,开机开关);
1.安全,被封装了,受保护了
2.隐藏了细节
Android-Java-封装的更多相关文章
- # 095 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 03 封装总结 01 封装知识点总结
095 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 ...
- 094 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 02 static关键字 04 static关键字(续)
094 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 ...
- 093 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 02 static关键字 03 static关键字(下)
093 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 ...
- 092 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 02 static关键字 02 static关键字(中)
092 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 ...
- 091 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 02 static关键字 01 static关键字(上)
091 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 ...
- 090 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 04 使用包进行类管理(2)——导入包
090 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 ...
- 089 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 使用包进行类管理(1)——创建包
089 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 ...
- 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 02 封装的代码实现
088 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 02 封装的代码实现 本文知识点:Java封装的代码实现 说明:因为时间紧张,本人写博客过程中只 ...
- 087 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 01 封装的概念和特点
087 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 01 封装的概念和特点 本文知识点:封装的概念和特点 说明:因为时间紧张,本人写博客过程中只是对 ...
- [Android] Java Basic : preview
基础教学:lecture, video, lecturer: Matt Stoker Java教学:http://www.runoob.com/java/java-intro.html[菜鸟教程,非常 ...
随机推荐
- 详解php多人开发环境原理
作为一名php开发人员,有时候一个项目或一个功能我们不能独自完成,就像当一个仓库开发人员大于1,20人的时候,每个人可能开发不同的模块和功能,用代码版本控制工具比如 git 开不同的分支,流程大概是先 ...
- BZOJ1233 干草堆 - 单调队列优化DP
问题描述: 若有干个干草, 分别有各自的宽度, 要求将它们按顺序摆放, 并且每层的宽度不大于 它的下面一层 , 求最多叠几层 题解: zkw神牛证明了: 底边最短, 层数最高 证明: ...
- C++基础教程(总结)
内容中包含 base64string 图片造成字符过多,拒绝显示
- HDU 3861.The King’s Problem 强联通分量+最小路径覆盖
The King’s Problem Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Other ...
- virualbox问题
出不来64位虚拟系统 bios设置虚拟化可用 2.创建虚拟机 启动不了 提示 不能打开一个... 安装exten 扩张包 3.设备 -- 安装增强功能... 分辨率 设置成功
- make/makefile中的加号+,减号-和at号@的含义
http://www.crifan.com/order_make__makefile_in_the_plus__minus_-_and_at_the_meaning_of_numbers/ 在看mak ...
- HierSort(希尔)————Java
利用Java进行希尔排序(元素中有0会有问题),步长经过调试length/2+1最合适. import java.util.Scanner; public class HierSort { priva ...
- raiDrive添加坚果云
把坚果云网盘映射到本地. 使用raidrive 中webDAV添加坚果云. 1.登录自己的坚果云网页版,点“安全选项”,右侧有第三方应用管理,生成密码,按照示例填入第三方应用即可. 2.注意:暂时此处 ...
- ubuntu下安装/卸载vmware虚拟机
1.下载vmware(官网下载试用版,试用版输入序列号后即为专业版,序列号网上搜,很多) 2.下载后安装(命令行) 1)cd进你下载的位置 1.1)下载的文件名字为:VMware-Workstatio ...
- windows下解决端口被占用的问题
步骤一.Windows查看所有的端口 点击电脑左下角的开始,然后选择运行选项,接着我们在弹出的窗口中,输入[cmd]命令,进行命令提示符.然后我们在窗口中输入[netstat -ano]按下回车,即会 ...