[求助]怎么在封装里面限制只有某一个java文件或方法访问
aide吧
全部回复
仅看楼主
level 1
Tades4
楼主
在封装的属性里面,if 的条件要怎么写,才可以在封装里面限制只有某一个java文件或某个方法才可以访问这个封装属性,例如 a.java文件中有个private int b; 的封装属性,我想限制它只有 c,java文件可以访问这个属性,在
set里面加的if应该怎么写才可以达到效果?另外如果是限制 c,java文件下的 d方法才可以访问呢?
2017年04月07日 14点04分
1
level 13
凹凸曼大小怪77
设置protected修饰
这样只有同一个包的java文件或者继承的
才能访问。
你说的限制没卵用,实际开发中 反射可以调用
2017年04月07日 16点04分
2
level 12
DJ131452DJ
可以用令牌方式访问
2017年04月07日 16点04分
3
level 12
啊o额iu鱼
new Exception().getStackTrace()
可以得到调用全过程,判断一下是从哪个方法调用过来的,
2017年04月08日 04点04分
4
啊o额iu鱼
啊,是成员变量就没办法了,反射肯定能访问,
2017年04月08日 04点04分
Tades4
那封装的安全性在哪里体现出现 ?
2017年04月09日 01点04分
啊o额iu鱼
@Tades4
对于守规矩的用户才能提供安全,不守规矩的用户不需要管它安全,
2017年04月09日 03点04分
啊o额iu鱼
@Tades4
封装时并不需要太在乎反射的情况,只要知道反射可以得到一切所以像是私密信息密码什么的用完马上擦干净,其他只是封装的属性用户非要反射你也不需要换,自己写自己的getter setter就好,
2017年04月09日 03点04分
level 11
2ssssssss6yyyy
QAQ,属性私有化,使用访问器,在set访问器中判断访问的对象
2017年04月12日 15点04分
6
1