java什么需要封装(JAVA 中,为什么要封装)
今天给各位分享java什么需要封装的知识,其中也会对JAVA 中,为什么要封装进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
JAVA为什么要使用封装,封装的作用有哪些
java类的封装性就是不能让外面的类随意修改一个类的成员变量
基本类型只能按值传递,而每个基本类型对应的封装类是按引用传递的。
从性能上说java中的基本类型是在堆栈上创建的,而所有的对象类型都是在堆上创建的,(对象的引用在堆栈上创建)
比如Integer i=new Integer(10);其中new Integer()是在堆上创建的,而他的引用Integer i是在堆栈上。封装类的出现,是为了更方便的使用一些基本类型不具备的方法
JAVA 中,为什么要封装
封装是由Java是面向对象程序设计语言的性质决定的,因为面向对象程序设计语言的三大特性之一就是封装。
因为面向对象中所有的实体都是以对象为基本单位的,以宏观世界的实体来映射到计算机世界中,每个对象有它自己的属性和自己的行为,我们用类来将这些属性和行为封装到一起,当它实例化出来一个对象的时候,我们可以说这个对象具有这些属性和行为。
扩展资料:
封装的作用
1、对象的数据封装特性彻底消除了传统结构方法中数据与操作分离所带来的种种问题,提高了程序的可复用性和可维护性,降低了程序员保持数据与操作内容的负担。
2、对象的数据封装特性还可以把对象的私有数据和公共数据分离开,保护了私有数据,减少了可能的模块间干扰,达到降低程序复杂性、提高可控性的目的。
参考资料来源:百度百科-封装(计算机程序术语)
java 封装是什么
什么是封装?
封装从字面上来理解就是包装的意思,专业点就是信息隐藏,是指利用抽象数据类型将数据和基于数据的操作封装在一起,使其构成一个不可分割的独立实体,数据被保护在抽象数据类型的内部,尽可能地隐藏内部的细节,只保留一些对外接口使之与外部发生联系。系统的其他对象只能通过包裹在数据外面的已经授权的操作来与这个封装的对象进行交流和交互。也就是说用户是无需知道对象内部的细节,但可以通过该对象对外提供的接口来访问该对象。
在现实世界当中我们可以看到很多事物都是封装好的,比如“鼠标”,外部有一个壳,将内部的原件封装起来,至于鼠标内部的细节是什么,我们不需要关心,只需要知道鼠标对外提供了左键、右键、滚动滑轮这三个简单的操作。对于用户来说只要知道左键、右键、滚动滑轮都能完成什么功能就行了。为什么鼠标内部的原件要在外部包装一个“壳”呢,起码内部的原件是安全的,不是吗。
再如“数码相机”,外部也有一个壳,将内部复杂的结构包装起来,对外提供简单的按键,这样每个人都可以很快的学会照相了,因为它的按键很简单,另外照相机内部精密的原件也受到了壳儿的保护,不容易坏掉。
面向对象的三个特性:
1、封装
2、继承
3、多态
根据以上的描述,可以得出封装有什么好处呢?
封装之后就形成了独立实体,独立实体可以在不同的环境中重复使用,显然封装可以降低程序的耦合度,提高程序的扩展性,以及重用性或复用性,例如“鼠标”可以在A电脑上使用,也可以在B电脑上使用。
另外封装可以隐藏内部实现细节,站在对象外部是看不到内部复杂结构的,对外只提供了简单的安全的操作入口,所以封装之后,实体更安全了。
总体来说,好处就是以下几点:
1、提高了安全性
2、提高了复用性
3、隐藏了实现细节
在Java面向对象的编程当中的为什么要封装什么叫封装
概念:所谓封装,就是通过定义类并且给类的属性和方法加上访问控制来抽象事物的本质特性.
这个意思:
封装就是定义一个类,然后给该类的属性(成员变量)和方法加上访问控制修饰词(public,private,
protected,默认包访问权限),使得该类的属性和方法对于类外部来说,想可见的可见,不想可见的隐藏。
所以,通过封装这个手段,就抽象出来了事物的本质特性。
对上面进行进一步的解释:
什么叫抽象?比如拿人类来举例子,封装是一种手段,通过封装定义出来的这个类,和现实当中的人这个实体(对象),他们之间就是一种抽象,我们现实当中只存在一个一个的人(对象),人类只是一个概念性的东西,是我们人自己归纳总结出来的,我们知道人都长什么样,所以我们知道符合这个样子的就叫人,人的大脑总是习惯将事物分类,因此人类的概念就出现了,那么我们发现一个一个的人,都有眼睛鼻子嘴(属性),都能吃饭(方法),等等,这就是人这个事物的本质特性,然后我们得编程啊,人类的概念光在脑海中出现了还不行,还得体现到代码上,那么你想体现到代码上,也就是定义一个类,就要使用封装这个手段。
为什么要加上访问控制?
一是,有些东西是很关键很机密的,不想随便被使用,被改变,被访问。
二是,可能这个东西不是很关键机密,访问和改变也无所谓,但是,因为有些属性和方法,它们对于外部来说,是无关的没用的,但是对于我自己这个类来说,是必要的,因为可能在我自己这个类中要使用它们,这个时候,进行隐藏,不让外部看,好处就是,如果将这些不必要的内容也暴露给外部的话,那么在使用的时候,使用者会被迷惑,因为这个东西对他没用,但是又可以调用,访问,而且他又不知道又没有用,但是如果进行隐藏,不给外部查看,那么就很清晰了,因为这样一来,只要是对外暴露的属性方法,都是有用的,你想一下,JDK的类库里面的那些类,比如String类,对外暴露的属性和方法,哪个是无用的?这也是一种良好的编程习惯和规范。
说了这么多,其实我的理解也有限,面向对象思想又不局限于某种语言,楼主仔细体会一下吧,我说的可能也不全对,这只是我个人的一点理解。
刚才上网搜到了一句话,不是我说的,但我感觉说的也不错,可以仔细体会一下:
封装是人们对现实世界中解决问题时,为了进行简化问题,对研究的对象所采用的一种方法,一种信息屏蔽技术。
如果你还想了解更多这方面的信息,记得收藏关注本站。