黑马程序员技术交流社区

标题: 反射的时候遇到IllegalAccessException怎么解决 [打印本页]

作者: 何竹冬    时间: 2013-1-3 03:57
标题: 反射的时候遇到IllegalAccessException怎么解决
代码如下:
  1. import java.io.*;
  2. import java.util.*;
  3. public class  ReflectionTest
  4. {
  5.         public static void main(String[] args) throws Exception
  6.         {
  7.                 String name="cn.he.myreflect.MyText";
  8.                 Class classzz=Class.forName(name);
  9.                 classzz.newInstance();
  10.         }
  11. }
  12. 错误提示:
  13. Exception in thread "main" java.lang.IllegalAccessException: Class ReflectionTes
  14. t can not access a member of class cn.he.myreflect.MyText with modifiers ""
  15.         at sun.reflect.Reflection.ensureMemberAccess(Reflection.java:65)
  16.         at java.lang.Class.newInstance0(Class.java:349)
  17.         at java.lang.Class.newInstance(Class.java:308)
  18.         at ReflectionTest.main(ReflectionTest.java:15)
复制代码

作者: sun~~    时间: 2013-1-3 08:58
[code]package edu.csdn.net;
import java.io.*;
import java.util.*;
public class  ReflectionTest
{
        public static void main(String[] args) //throws Exception
        {
                try
                {
                String name="cn.he.myreflect.MyText";
                Class classzz=Class.forName(name);
                classzz.newInstance();
        }
        catch(Exception e)
           {
                System.out.println(e.toString());
           }
      }
}

作者: 清水    时间: 2013-1-3 10:17
两个:
getDeclaredXxx()
和setAccessible(true)

作者: 何竹冬    时间: 2013-1-3 14:39
多谢大家,已解决。




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