java中的封装、继承、多态可谓是踏入这一行业的必经之槛,诸多新人在不明就里的情况下将其各种概念背的是滚瓜烂熟。即便是工作多年之后,也不见得能说出个所以然,或许冥冥之中已经写过无数封装的代码,只是近在眼前人不识了。也正是鉴于此,趁着有所心得,螃蟹留个印记,供大家分享与指正。

既然作为一个安全系数很高的编程语言,内部结构及权限分配必然有着独到之处,就像是初来乍到就碰到的private、public、protected,一头雾水,虽然用几分钟时间弄的很明白,但以后的很长时间都是处于混乱状态,直到有一天彻底明白了各自的用途及意义,才不禁很满意的来上一句:擦,原来这么回事!

下面我们就通过一个场景看看封装有什么作用。

生活中我们经常见到各种管道,也经常见到换水管的维修工人,拿着图纸找到位置一阵忙活。水源自哪里他们可以不用关心,怎么能够将新旧管道对接才是手头的任务。而java中的封装也就类似于此,被封装的类或方法等你可以不用关心它是怎么实现的,即便你关心也没有用,能做的就是按它的要求使用它。就像我们按照协议组织了一个报文,就像我们通过一个指令调用了某一个表的数据,所有的实现过程都被掩盖了起来,而我们依然可以通过某些参数调用并返回我们想要的结果,这是不是像极了我们所说的接口?

看看微信开发平台,想想IOS客户端,这都是一些封装的例子。平时我们一谈起封装就会想起private的setter和getter,没错,这是最经典的一种实现,但如果我们的认识只局限于此,是不是真把java当咖啡了?

封装它是一种很美的结构体,它完全可以按照你的意愿来进行编写,如果你设置的权限足够小,它甚至不能生成API接口,javadoc那都是浮云?想想,假如有一个很大很成熟的系统,如果我们想借用它只能通过你封装的这一条路的时候,是不是很酷的感觉?

每当想起明天上班还要签到,对封装的抵触便油然而生。。。

作者专栏:java下午茶

首发地址:http://***/a/tea/2014/0709/141.html

【java下午茶系列】java三重奏之封装的更多相关文章

  1. 【java下午茶】12306的双人票

    明天下午就要和客户谈需求了,今天还在列车上假象着明天的情景,由于这是一个旅游的项目,所以想尽可能设计得人性化一些. 不过有件很不爽的事情就是和老公的位子是分开的,虽然我们订的是连坐号.就这个问题也是我 ...

  2. Java面试题系列 ----- Java基础面试题(91道)

    更多详情点击查看,点这里!这里!!这里!!! 文末获取所有面试PDF文档! Java概述 1. 何为编程 编程就是让计算机为解决某个问题而使用某种程序设计语言编写程序代码,并最终得到结果的过程. 为了 ...

  3. 4.熟悉Java基本类库系列——Java 正则表达式类库

    正则表达式语法结构图: Java正则表达式类库结构图: Java典型例子 1.String类 matches()方法 判断字符串是否符合特定正则表达式 @Test public void testRe ...

  4. 2.熟悉Java基本类库系列——Java IO 类库

    Java中常用的IO操作基本上可以分为四大部分,分别是:File类操作.RandomAccessFile类操作.字节流操作.字符流操作.只要熟练掌握了本文中所列举的所有例子,基本上对于Java的IO流 ...

  5. 1.熟悉Java基本类库系列 - 目录

    写这个系列是想让自己多熟悉熟悉Java的基本类库,忘记的时候可以在这里看看之前写过的例子,这样就可以很快的回忆起来如何使用了. 这样就可以很节省时间了. ======= 下面是传送门啦 ======= ...

  6. java基础解析系列(三)---HashMap

    java基础解析系列(三)---HashMap java基础解析系列 java基础解析系列(一)---String.StringBuffer.StringBuilder java基础解析系列(二)-- ...

  7. java高并发系列-第1天:必须知道的几个概念

    java高并发系列-第1天:必须知道的几个概念 同步(Synchronous)和异步(Asynchronous) 同步和异步通常来形容一次方法调用,同步方法调用一旦开始,调用者必须等到方法调用返回后, ...

  8. java高并发系列 - 第6天:线程的基本操作

    新建线程 新建线程很简单.只需要使用new关键字创建一个线程对象,然后调用它的start()启动线程即可. Thread thread1 = new Thread1(); t1.start(); 那么 ...

  9. java高并发系列 - 第12天JUC:ReentrantLock重入锁

    java高并发系列 - 第12天JUC:ReentrantLock重入锁 本篇文章开始将juc中常用的一些类,估计会有十来篇. synchronized的局限性 synchronized是java内置 ...

随机推荐

  1. 12/13 exercise

    gcc -[cog] gcc   pro1.o   pro2.o      //create a executable file x.out if unnamed

  2. Nagios监控ActiveMQ插件开发和部署注意事项

    前提,监控服务器是Ubuntu14 操作系统.被监控服务器是RHEL6.5 RHEL7 1.自定义插件可以使用bash.python等脚本来实现. 2.通过nrpe插件来实现监控服务器和被监控主机之间 ...

  3. hiho 第135周 九宫

    题目链接:http://hihocoder.com/contest/hiho135/problem/1 由于是九宫格,全排列也就是9! (362880)种方式,我就直接暴力枚举排列好了. #inclu ...

  4. python非字符串与字符产链连接

    第一种办法: "hello" +' '+str(110) 输出结果: 'hello 110' 第二种办法: import numpy x = 110 print 'hello(%d ...

  5. Vuex基础-Action

    在文章开始之前,再次强调一句:Vuex会把getter mutations action不管是在模块定义的还是在根级别定义的 都会注册在全局 官网API地址:https://vuex.vuejs.or ...

  6. vscode-tfs插件报错:TF30063

    解决方案:删除tfs凭证,然后用vs重新登陆tfs服务器,此时会在电脑上创建要一个新的tfs凭证,然后再用vscode-tfs操作tfs就没有问题了.

  7. 在什么情况下采用BFC

    介绍BFC的博文有很多,下面,我就从另一个角度解释一下“在什么情况下会使用BFC” 以下仅代表我的个人看法,如果有错误的地方,还希望大家能告诉我,以免我在错误的道路上越走越远. 一.BFC是什么 Bl ...

  8. System.IO 二

    接着上篇的来  System.IO FileSystemWatcher    指向这个签名的方法   可以监听目录发生了什么事件 例如: static void Main(string[] args) ...

  9. 史上最简单的SpringCloud教程 | 第十二篇: 断路器监控(Hystrix Dashboard)

    转载请标明出处: 首发于:https://www.fangzhipeng.com/springcloud/2017/07/12/sc12-hystix-dashbd/ 本文出自方志朋的博客 最新Fin ...

  10. Map详解

    https://mp.weixin.qq.com/s/s4KLQyE5bY833kGzWl3vsg