本帖最后由 任献东 于 2014-10-18 21:09 编辑
- import java.lang.reflect.InvocationTargetException;
- import java.lang.reflect.Method;
- public class Test_fanshe1 {
- public static void main(String[] args) {
- Class<myclassprint> clazz = myclassprint.class;
- try {
- Method method = clazz.getDeclaredMethod("print");
- method.invoke(clazz.newInstance());
- } catch (NoSuchMethodException e) {
- // TODO 自动生成的 catch 块
- e.printStackTrace();
- } catch (SecurityException e) {
- // TODO 自动生成的 catch 块
- e.printStackTrace();
- } catch (IllegalAccessException e) {
- // TODO 自动生成的 catch 块
- e.printStackTrace();
- } catch (IllegalArgumentException e) {
- // TODO 自动生成的 catch 块
- e.printStackTrace();
- } catch (InvocationTargetException e) {
- // TODO 自动生成的 catch 块
- e.printStackTrace();
- } catch (InstantiationException e) {
- // TODO 自动生成的 catch 块
- e.printStackTrace();
- }
-
- }
- }
- class myclassprint{
-
- private void print(){
- System.out.println("hello heima");
- }
- }
复制代码
getDeclaredMethod()这个方法不是能拿到包括私有 保护在内的所有方法么?
为什么报错了
java.lang.IllegalAccessException: Class 黑马练习4.Test_fanshe1 can not access a member of class 黑马练习4.myclassprint with modifiers "private" |
|