黑马程序员技术交流社区

标题: 私有化变量后向外界提供了访问方法,还不能访问 [打印本页]

作者: meibinlove    时间: 2014-8-3 10:59
标题: 私有化变量后向外界提供了访问方法,还不能访问
私有化变量后向外界提供了访问方法,还不能访问
作者: MeloX    时间: 2014-8-3 11:02
怎么回事,详细点..
作者: meibinlove    时间: 2014-8-3 11:05
MeloX 发表于 2014-8-3 11:02
怎么回事,详细点..

把声明的变量私有化,然后向外界提供get set方法,以及构造函数都不能访问,但把私有化去掉后就能访问
作者: 玥夜    时间: 2014-8-3 11:08
meibinlove 发表于 2014-8-3 11:05
把声明的变量私有化,然后向外界提供get set方法,以及构造函数都不能访问,但把私有化去掉后就能访问 ...

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

不能吧..private修饰符只是针对在其他类中访问限制,本类中没有限制。。
作者: meibinlove    时间: 2014-8-3 11:14
玥夜 发表于 2014-8-3 11:08
楼主把代码搞上  给看看

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

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

把代码贴出来看看,很多时候,你描述的预期目的和你所写的代码不是一回事
作者: LFW    时间: 2014-8-3 14:15
你调用getset了么。。。。。。。。。。把代码弄上来,你唧唧歪歪我们看不到代码也帮不了你
作者: liubea    时间: 2014-8-3 14:19
通过反射试试
作者: felixzr    时间: 2014-8-3 14:24
代码放上来看看
作者: 朱道研    时间: 2014-8-3 15:33
帖代码。。。说别的都搞不清楚
作者: icris    时间: 2014-8-3 16:03
就是我在A类中把声明的变量私有化,然后提供了gteset方法,在B类中newA类的对象,却访问不到我A类中的变量,去掉private能访问

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

就是嘛。。
作者: 晓风    时间: 2014-8-4 10:31
如果是 对象直接调私有变量时访问不到的。对象直接调对应私有变量的访问器就可以了,再一个就是访问器的访问权限对外要是可见的。
作者: 新航向    时间: 2014-8-4 10:48
meibinlove 发表于 2014-8-3 11:14
我也不知道是不是我的Eclipse出问题还是什么情况,就是我在A类中把声明的变量私有化,然后提供了gteset方 ...

在B类中不能直接通过“类.变量”访问A中变量,要通过set()方法设置,get()方法获取。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2