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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

私有化变量后向外界提供了访问方法,还不能访问

16 个回复

倒序浏览
怎么回事,详细点..
回复 使用道具 举报
MeloX 发表于 2014-8-3 11:02
怎么回事,详细点..

把声明的变量私有化,然后向外界提供get set方法,以及构造函数都不能访问,但把私有化去掉后就能访问
回复 使用道具 举报
meibinlove 发表于 2014-8-3 11:05
把声明的变量私有化,然后向外界提供get set方法,以及构造函数都不能访问,但把私有化去掉后就能访问 ...

楼主把代码搞上  给看看
回复 使用道具 举报
meibinlove 发表于 2014-8-3 11:05
把声明的变量私有化,然后向外界提供get set方法,以及构造函数都不能访问,但把私有化去掉后就能访问 ...

不能吧..private修饰符只是针对在其他类中访问限制,本类中没有限制。。
回复 使用道具 举报
玥夜 发表于 2014-8-3 11:08
楼主把代码搞上  给看看

我也不知道是不是我的Eclipse出问题还是什么情况,就是我在A类中把声明的变量私有化,然后提供了gteset方法,在B类中newA类的对象,却访问不到我A类中的变量,去掉private能访问(不止一次出现了,以前我都是直接去掉private)
回复 使用道具 举报
meibinlove 发表于 2014-8-3 11:14
我也不知道是不是我的Eclipse出问题还是什么情况,就是我在A类中把声明的变量私有化,然后提供了gteset方 ...

在b类中访问private修饰的变量,与需要向外界提供相应的方法
回复 使用道具 举报
私有化是为了保护代码的安全,在里面可以加入判断,只是留了个窗口
回复 使用道具 举报
meibinlove 发表于 2014-8-3 11:05
把声明的变量私有化,然后向外界提供get set方法,以及构造函数都不能访问,但把私有化去掉后就能访问 ...

把代码贴出来看看,很多时候,你描述的预期目的和你所写的代码不是一回事
回复 使用道具 举报
LFW 中级黑马 2014-8-3 14:15:02
10#
你调用getset了么。。。。。。。。。。把代码弄上来,你唧唧歪歪我们看不到代码也帮不了你
回复 使用道具 举报
通过反射试试
回复 使用道具 举报
代码放上来看看
回复 使用道具 举报
帖代码。。。说别的都搞不清楚
回复 使用道具 举报
就是我在A类中把声明的变量私有化,然后提供了gteset方法,在B类中newA类的对象,却访问不到我A类中的变量,去掉private能访问

以我的理解,你是写了 getVar() 方法,但是访问还是用 new A().var 吗…要用 new A().getVar() 才行
回复 使用道具 举报
LFW 发表于 2014-8-3 14:15
你调用getset了么。。。。。。。。。。把代码弄上来,你唧唧歪歪我们看不到代码也帮不了你 ...

就是嘛。。
回复 使用道具 举报
如果是 对象直接调私有变量时访问不到的。对象直接调对应私有变量的访问器就可以了,再一个就是访问器的访问权限对外要是可见的。
回复 使用道具 举报
meibinlove 发表于 2014-8-3 11:14
我也不知道是不是我的Eclipse出问题还是什么情况,就是我在A类中把声明的变量私有化,然后提供了gteset方 ...

在B类中不能直接通过“类.变量”访问A中变量,要通过set()方法设置,get()方法获取。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马