Java封装

面向对象的三大特征:封装、继承、多态。封装在书面上来说,他无非就是set和get方法罢了。为什么要用到封装,比如买主机如果没有机箱只有内存条、CPU、主板等等那些零件买回到家,你还得一个个的去装那些零件要是不会装怎么办?就算把所有的零件全部装在一起了,要是不小心把水倒入机子了那就会坏掉,要是时间久了灰尘多了还会让机子死机。所以我们就得要有这个机箱要把里面的零件给保护起来这样才能不会不小心破坏掉里面的零件。

  我们在写一些类的时候,我们把属性全部写在外面没有把属性隐藏起来,就等于把一些信息写在了脸上别人就能够看出知道你的年龄体重爱好缺点还有一些信息都全部给别人看到了。

  我们不能把所有的东西都给显示出来,那样别人就知道了你的缺点是什么,所以说为什么要有封装,因为有了封装他能把重要的东西给保护隐藏起来,把有些可以让别人看到的东西给共享出来。

  封装是面向用户更简单(用户指的是程序员):把复杂的东西包装起来给用户使用更加的简单更加的方便。封装是面向属性更安全:把私有的属性都保护起来,不让别人修改内部的信息,不让别人去访问内部的信息。这才是为什么要有封装的目的。例题8.4图所示:

  图8.4

  有一个Dog类,有2个属性一个是name 一个是age然后new了对象,把name赋上了那么长的名字,那age赋值了那么大的年龄。但是狗有这么长的寿命吗?没有,但是他的赋值也很符合他的name属性和age属性。这就是公开的缺点,我们不能把所有的东西都给公开出来不能乱赋值。那么我们就要用封装,把这些name属性和age属性给封装起来给保护起来,不让他随意的去更改他。如图8.41所示:

  图8.41

  封装第一就是先把属性私有化private关键字就是私有的意思,他是不允许在外面调用,那么就要提供set方法然后把set方法的参数交给私有的属性,也就好比似拐了个弯。如果想得到name 那么就要使用get方法,return name; 把name返回出去。set是设置替换的意思,get是得到的意思。

  如果这个属性彻彻底底不让人家访问那么就拒绝提供set和get方法。如果这个属性仅仅只让人家得值那么就只需要提供get方法。如果这个属性只让人家设置值那么就只提供set方法。

  封装为什么要使用方法,原因是因为只有方法里面才可以写代码,所以要在方法里面设置值和得到值,只有他这里才可以写很多的代码可以做验证可以做判断判断他是否合要求,或者抛异常。例题8.42所示:

  图8.42

技术分享:www.kaige123.com

时间: 2024-09-29 13:34:04

Java封装的相关文章

java封装之访问权限控制

封装从字面上来理解就是包装的意思,专业点就是信息隐藏,是指利用抽象数据类型将数据和基于数据的操作封装在一起,使其构成一个不可分割的独立实体,数据被保护在抽象数据类型的内部,尽可能地隐藏内部的细节,只保留一些对外接口使之与外部发生联系.系统的其他对象只能通过包裹在数据外面的已经授权的操作来与这个封装的对象进行交流和交互.也就是说用户是无需知道对象内部的细节(当然也无从知道),但可以通过该对象对外的提供的接口来访问该对象. 对于封装而言,一个对象它所封装的是自己的属性和方法,所以它是不需要依赖其他对

Java封装自己的Api

转自:http://www.2cto.com/kf/201404/291555.html 随着学习的深入,我们都想封装自己的Api,但对于新手这并不是一件简单容易的事! 我要达到的效果:自己封装一些方法,导出jar包,其他项目里加入它即可,并且,会有注释信息! 1.封装自己的Api,这一步很简单,自己写就好了! 2.导出javadoc,这一步也很简单:export.java.javadoc,在javadoc command里选择:C:\Program Files\Java\jdk1.7.0_45

Java“封装”的例子

/*功能:Java"封装"的典型例子*/ public class Demo3_5{    public static void main(String args[]){        Clerk clerk1=new Clerk("qingfeng",22,5321.12f);        System.out.println("名字为"+clerk1.name+"薪资为"+clerk1.getSalary());//只能

【实例教程】Echarts 的 Java 封装类库

Echarts 的 Java 封装类库:http://www.oschina.net/p/echarts-java 没想到喜欢Echarts 的 Java 封装类库的人还挺多,在源码中的测试例子一般目的只是构造官网例子的结构,这里写个比较实际的简单例子来演示如何写出一个图表. 首先看看Option的提示. Option说明 Option正式代码中使用,不需要任何依赖. GsonOption正式代码中可以使用,需要引入Gson包,使用toString()方法可以转换为JSON结构的数据(支持fun

【原创】中文分词系统 ICTCLASS2015 的JAVA封装和多线程执行(附代码)

本文针对的问题是 ICTCLASS2015 的多线程分词,为了实现多线程做了简单的JAVA封装.如果有需要可以自行进一步封装其它接口. 首先ICTCLASS2015的传送门(http://ictclas.nlpir.org/),其对中文分词做的比较透彻,而且有一定的可调式性.但是应用到实际开发中的话,多线程操作是必须的,因此有了本文的初衷. 可能有的小伙伴不太清楚ICTCLASS是干嘛的,下面是一段介绍:NLPIR汉语分词系统(又名ICTCLAS2015),主要功能包括中文分词:词性标注:命名实

寿星天文历Java封装整理版

由于生活和工作的原因,"寿星天文历"我一直没有动,长时间的丢弃后,当重新拾起时,比较费劲.编程就是这样,思维的火花只在当初的那一瞬,一旦熄灭,重新再点燃断掉的思维是很困难的.因为人的"忘记"能力,真的是挺强的,有时回顾或维护以前的代码时,常常会感叹道:这是我写的吗?够牛逼,看不懂!呵呵,这时候注释的作用的凸显出来了,尽管如此有时仅仅靠注释找以前的思路也是很困难. 跑题了,那么,首先对于等着"寿星天文历"封装整理版代码的各位,说声抱歉.这回整理的代

Java— 封装

封装: 将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过类提供的方法来实现对隐藏信息的操作和访问. 好处:1.通过规定的方法访问数据 2.隐藏类的实例细节,方便修改和实现 3)封装的实现步骤:修改属性的可见性(设为private)→创建getter/setter方法(用于属性的读写)→在getter/setter方法中加入属性控制语句(对属性值的合法性进行判断 1 public class Telphone{ 2 private float cpu; 3 public float g

Java—封装

封装 将类的某些信息隐藏在类的内部,不允许外部程序直接访问,而是通过该类提供的方法类实现对隐藏信息的操作和访问. 封装的实现步骤:修改属性的可见性(设为private)=>创建setter和getter方法(用于属性的读写)=>在setter和getter方法中加入属性控制语句(对属性值的合法性进行判断) Java中的包 包的作用:管理Java文件:解决同名文件冲突 定义包:package 包名,注意:必须放在Java源程序的第一行:包名间可以使用"."号隔开,如:com.

JAVA封装思想导论(猜字谜游戏2.0)

一. 引言 本章将第一篇中的猜字谜游戏1.0进行升级,然后向读者简单介绍JAVA中封装思想的部分知识以及其实现思路. 二.封装思想导论 在面向对象的编程思想中提出了三大基本特征:封装.继承和多态.其中,封装是继承与多态的基础.如果不能很好的理解封装的含义,那么继承和多态的学习也无从谈起.所以,为了更好的理解封装思想,我们将解决以下几个问题(如图2.1): 封装是什么? 我们为什么需要封装? 封装的特点? 封装如何实现? 封装的思想,从起源来看,已经很久了.早在亚里士多德时期,他就有关于类型的著述

JAVA封装思想导论

一. 引言 本章将第一篇中的猜字谜游戏1.0进行升级,然后向读者简单介绍JAVA中封装思想的部分知识以及其实现思路. 二.封装思想导论 在面向对象的编程思想中提出了三大基本特征:封装.继承和多态.其中,封装是继承与多态的基础.如果不能很好的理解封装的含义,那么继承和多态的学习也无从谈起.所以,为了更好的理解封装思想,我们将解决以下几个问题(如图2.1): 封装是什么? 我们为什么需要封装? 封装的特点? 封装如何实现? 封装的思想,从起源来看,已经很久了.早在亚里士多德时期,他就有关于类型的著述