A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© HelloWorld! 中级黑马   /  2014-11-2 13:33  /  2420 人查看  /  10 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

私有是封装的一种表现形式,可以用权限修饰符private将成员私有化封装到类中,对外提供访问方式,成员变量可以通过提供的访问方式被访问,那么私有化的成员方法有没有访问方式呢?如果有,是什么?如果私有化成员方法只是为了不被外界访问,那就只能在本类中访问,这么做的意义是什么呢?有何应用?零基础菜鸟求解答

评分

参与人数 1技术分 +1 收起 理由
杨佳名 + 1

查看全部评分

10 个回复

倒序浏览
像lz所说一样,private修饰符的出现,就是要将类中的一些不想让外界知道的属性、方法隐藏起来。这也是封装的重要一点。就像我们人有不能说的秘密一样。 如果这些隐私被别人知道了,就会造成一些重大的影响,甚至可能造成对我们自己的伤害。
在后期我们会学习到反射,可以通过特殊的手段能够获取这些被隐藏的方法和成员,那就是暴力反射。
回复 使用道具 举报
访问私有方法两种方式,第一,内部类,第二,反射。
回复 使用道具 举报
私有化方法一般是有两处或以上的地方使用了相同方法,就可将其提取出来进行封装。这样以后修改只要修改一个方法即可。如果不封装,需要一个一个的去查哪些地方使用了这个方法,相当不易于维护。还有一种是由于一个方法内代码过长,不利于理解,所以将过程的各个模块提取出来封装,这样一个流程就变得简单明了。
当这是这个方法是这个类特有的方法,也不需要提供给派生类使用时,就定义为私有的。暴露的越少,就越好修改。

评分

参与人数 1技术分 +1 收起 理由
杨佳名 + 1 赞一个!

查看全部评分

回复 使用道具 举报
获取私有方法也是有的,使用反射即可,不过我感觉没什么意义。它不愿意暴露,你硬要暴力反射使用它,到时候底层改了,你上层出了错还不知道哪里错了
回复 使用道具 举报
private的私有成员方法只能在这个类中调用,有很多种情况是:这个类中的其他方法或内部类需用调用此私有方法,而这个方法又不需用被其他的类调用,就做成了私有的方法。
回复 使用道具 举报
在类中对成员进行私有,是为了减少漏洞和保证程序的安全性。我们在定义一个类的时候,一般使这个类的权限尽量小一些,只对外提供访问方式,这更好的体现了java面向对象的封装性,注意封装不是私有。
回复 使用道具 举报
lighter 发表于 2014-11-2 14:17
private的私有成员方法只能在这个类中调用,有很多种情况是:这个类中的其他方法或内部类需用调用此私有方 ...

对,确实
回复 使用道具 举报
这就根据你设计类的需求来定了,
回复 使用道具 举报
个人理解 : 一个功能肯定有很多方法才完成的 那要使用这个功能只要一个入口 其他的都是支持部分 就像一台风扇只要一个按钮就能实现吹风的功能 要是把电路板暴露出来 被谁改条线 不就出错了 就像工具类 一向都只暴露给我们要使用的功能方法
回复 使用道具 举报
举个简单的例子,你的老板可以叫你走路,工作,去不可以让你心跳停止,不呼吸,每个事物都有些功能是不能向外提供的,外界并不知道它有这个功能,但是这些被隐藏的功能却是必要的,人必须吃饭,心跳和呼吸。
回复 使用道具 举报 1 0
您需要登录后才可以回帖 登录 | 加入黑马