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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 党传才 中级黑马   /  2012-4-24 18:45  /  1480 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

java中的method问题。通过method,如何得到该method的访问修饰权限?

3 个回复

倒序浏览
还有在程序中遇到的一个问题
static int f(int x){x=2*x;return x;} 然后主程序int x=2,引用一次f(x),得到4,但是主程序里的x还是等于2但是对于这样一个程序 class monint{int val;} class Test{ static int f(monint z){ z.val =2*z.val; return z.val;} public static void mains(string[] args){ monint x=new monint; x.val=1; system.out.print(f(x)+" "+x) } }为什么这里x.val就变成2了呀? 难道因为x的类型是monint,非基础类型么?再举个关于list例子, static int long(list xs){ int r=0; for(;xs!=null;x=x.next)r++; return r}//返回list xs的长度 然后主程序里面 list xs=new list(1,newlist(2,newlist(3,null))); int size=long(xs); 这里引用函数long以后,返回长度3 但是在size里面有个循环语句for,使x=x.next,引用过long函数以后,主程序里面的xs最后变了么,为什么啊
回复 使用道具 举报
通过反射类的 中
Method类的getModifiers方法可又获取
回复 使用道具 举报
Method method = clazz.getDeclaredMethod("fun");//获取私有的方法
method.setAccessible(true);                // 改变访问权限,true是可以访问,false是不可以
method.invoke(p);//调用
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马