黑马程序员技术交流社区

标题: 反射内部类。感兴趣的进 [打印本页]

作者: 汪洋大海    时间: 2014-1-5 16:55
标题: 反射内部类。感兴趣的进
本帖最后由 汪洋大海 于 2014-1-5 17:28 编辑

这个是内部类。我想通过反射得到其中x的值。
  1. package question;

  2. class Test5
  3. {
  4.         class Demo
  5.         {
  6.                 int x = 3;
  7.         }
  8.        
  9. }
复制代码

下面是我的做法。

  1. package question;

  2. import java.lang.reflect.Constructor;
  3. import question.Test5.Demo;

  4. public class Test6
  5. {
  6.         public static void main(String[] args) throws Exception
  7.         {
  8.                 Class test5 = Class.forName("question.Test5");
  9.                 Class<Demo> demo = (Class<Demo>) Class.forName("question.Test5$Demo");
  10.                 Constructor constructor = demo.getDeclaredConstructors()[0];
  11.                 constructor.setAccessible(true);
  12.                 Test5.Demo obj = (Test5.Demo)constructor.newInstance(test5.newInstance());
  13.                 System.out.println(obj.x);
  14.         }
  15. }
复制代码




作者: 汪洋大海    时间: 2014-1-5 17:29
反射。要学的东西还很多。。
作者: 汪洋大海    时间: 2014-1-5 17:30
同学们可以自己试着写一写。
作者: 汪洋大海    时间: 2014-1-5 17:32
如何内部类被private修饰了反射也得不到。。




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