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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

做了一个实现....验证了一下,不是public修饰的成员方法反射不到!
~private的还好理解一下,私有的不想了让看见也就罢!
但是为什么用default修饰的就不行呢~~~?

7 个回复

倒序浏览
楼主,完全是可以的,你试试我这段代码
  1. package com.itcast.io.day2;

  2. import java.lang.reflect.Method;
  3. import java.util.HashSet;
  4. import java.util.Iterator;

  5. class ReflectDemo {
  6.         private void printStr() {
  7.                 System.out.println("test reflect");
  8.         }

  9.         public void printInt() {
  10.                 System.out.println(10);
  11.         }
  12. }

  13. public class Test {

  14.         public static void main(String[] args) throws Exception {
  15.                 Class cls = Class.forName("com.itcast.io.day2.ReflectDemo");
  16.                 Method method = cls.getDeclaredMethod("printStr");
  17.                 method.setAccessible(true);
  18.                 method.invoke(cls.newInstance());
  19.         }
  20. }
复制代码

评分

参与人数 1黑马币 +2 收起 理由
苏志伟 + 2 赞一个!

查看全部评分

回复 使用道具 举报
输出为
test reflect
回复 使用道具 举报
哦!~用到的是暴力反射,!~~ok明白了。。。
回复 使用道具 举报
类中的所以方法都可以使用反射得到,要访问private的方法就必须使用所谓的暴力访问,就是调用方法的setAccessble(tre)方法。
回复 使用道具 举报
暴力!{:soso_e113:}
回复 使用道具 举报
暴力!!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马