java中私有属性可以通过反射获取,那设置成私有是不是没多大意思

publicclassTestBean{privateStringname="abc";}publicclassPrivateTest{publicstaticvoidm... public class TestBean
{
private String name = "abc";
}
public class PrivateTest
{
public static void main( String[] args ) throws IllegalArgumentException, IllegalAccessException
{
TestBean tb = new TestBean();
Field[] f = TestBean.class.getDeclaredFields();
for(int i=0;i<f.length;i++){
f[i].setAccessible( true );
System.out.println(f[i].get( tb ));
}
}
}
私有变量的值是可以访问到的 输出为abc
展开
 我来答
mikemelon
2011-05-11 · TA获得超过4594个赞
知道小有建树答主
回答量:1261
采纳率:0%
帮助的人:1561万
展开全部
私有、公有这些访问控制,主要是针对类的扩展或子类化设置的,针对现实世界的抽象和封装。

一般都是一些Web框架需要用反射,日常代码里面一般不用,用到的时候一般来说破坏了面向对象的特性。
马书强10
2011-05-11 · TA获得超过375个赞
知道小有建树答主
回答量:360
采纳率:0%
帮助的人:332万
展开全部
你理解偏了。外界不能直接访问。但可以过调用方法来获取私有变量的值。
只不过安全性高了而已
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友7c3b00b06
2011-05-11 · 超过15用户采纳过TA的回答
知道答主
回答量:106
采纳率:0%
帮助的人:46.7万
展开全部
通过反射,只能查到这个某个类有哪些属性,哪些方法,是查看的这个类的类型,并不是查看的一个实例,所以是查不到私有变量的值得。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友bf5956f
2011-05-11
知道答主
回答量:31
采纳率:0%
帮助的人:7.9万
展开全部
你是得不到他们的值的,只能看一下有什么属性。还是起到了,保护,变量的做用
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
手机用户99893
2011-05-12 · TA获得超过251个赞
知道小有建树答主
回答量:742
采纳率:0%
帮助的人:532万
展开全部
要具体问题具体分析,

为了较好的封装,默认为private,也要优先考虑用private。如果需要隐藏内部逻辑,一定是private
如果是比较简单的,可以用public,譬如某一个bean得id之类的;或者是一些可以共享的譬如static得等等。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式