关于private

关于private

private不是私有的,不开放吗?

为什么可以直接调用?而不需要get/set方法?

参考解析:

本题考查private关键字使用,同一个类内的private修饰的方法可以通过对象正常调用,所以答案是:15,故选A


如果可以直接调用,为什么还要加private??直接调用不就好了吗

正在回答

登陆购买课程后可参与讨论,去登陆

3回答

同学你好,

1、私有的属性就是私有成员属性。private不是私有的属性,private是访问控制修饰符。

在类中被private修饰的成员属性是私有成员属性,被private修饰的方法是私有成员方法。私有成员属性和私有成员方法是不同的。

如下:

http://img1.sycdn.imooc.com//climg/5fb4d4c309ab1b6405210268.jpg

2、由于私有属性其他类无法直接操作,所以我们才会提供一个get/set方法用来供其他类给私有属性赋值,但同时如果有需要,可以在get/set方法中设置一些条件,这样就可以保证了私有属性的安全。

在本次练习中,Test类没有私有成员属性,有2个私有成员方法add()。如下:

http://img1.sycdn.imooc.com//climg/5fb4d55909eefc6a06420282.jpg

所以不需要get/set方法。

  • rock221 提问者 #1
    私有方法,直接直接使用,但是不能在其他类中调用对吗
    2020-11-18 16:07:59
  • 好帮手慕阿慧 回复 提问者 rock221 #2
    同学你好,是的,你的理解是正确的。私有方法只能在自己类中调用,不能在其他类中调用。 祝学习愉快~
    2020-11-18 16:47:35
当中 2020-11-23 23:08:33

private 针对的外部访问。

  1. 如果你在其他类中实例化了这个类,去访问这个私有方法是不能访问。

  2. ​例子里是在同一个类里,所以加不加private关键字都是可以直接调用。


好帮手慕阿慧 2020-11-18 14:42:44

同学你好,

1、private是私有的,不开放。由于Test类中没有私有的属性,所以不需要提供get/set方法。

2、被private修改的方法只能自己类可以访问。加private是为了不让其他类调用。

例如:

http://img1.sycdn.imooc.com//climg/5fb4c2410926e55a06760338.jpg

  • 提问者 rock221 #1
    由于test类中没有私有的属性什么意思啊?private不就是私有的属性吗?
    2020-11-18 14:46:15
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星

相似问题

登录后可查看更多问答,登录/注册

请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师