Java 反射

作者: KuTear | 来源:发表于2016-01-01 22:30 被阅读376次

layout: post
title: Java 反射
date: 2015-10-20
categories: blog
tags: [Java,反射]
category: Java
description: 本文简单的介绍java下的反射调用


在解析json成Bean对象的时候经常使用反射与注解
今天在写的过程中遇到一个小的错误

public class Test {
   public class InnerClass{
     //.....
   }
}

在实例化InnerClass的时候是通过反射

try {
    Class cls = Class.forName("Test$InnerClass");
    Test.InnerClass instance = (Test.InnerClass) cls.newInstance();
   } catch (Exception e) {
      e.printStackTrace();
   }
}

然后就报了错误

java.lang.InstantiationException: Test$InnerClass
at java.lang.Class.newInstance(Class.java:418)
at Main.main(Main.java:5)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:140)
Caused by: java.lang.NoSuchMethodException: Test$InnerClass.<init>()
at java.lang.Class.getConstructor0(Class.java:2971)
at java.lang.Class.newInstance(Class.java:403)
... 6 more

因为非静态内部类的实例化必须是在外部类的基础之上

Test t = new Test();
Test.InnerClass innerClass = t.new InnerClass();

在没有外部类的实例的情况下是没办法实例化内部类的,如想直接实例化内部类就把内部类改为静态内部类

相关文章

  • 博客地址

    java注解-01、java注解-02、Git面试资源java反射-01、java反射-02、java反射-03为...

  • Java反射机制入门

    Java反射机制入门 一、什么是反射 JAVA反射机制(The JAVA reflection mechanism...

  • Java基础之反射

    Java基础之—反射(非常重要)Java中反射机制详解Java进阶之reflection(反射机制)——反射概念与...

  • 反射之一

    总结内容源自一下文章粗浅看java反射机制反射机制应用实践谈谈java反射机制Java Reflection(反射...

  • 反射之二

    总结内容源自一下文章粗浅看java反射机制反射机制应用实践谈谈java反射机制Java Reflection(反射...

  • Java基础之反射

    Java基础之反射 反射基本介绍 反射的使用通过反射调用属性和方法通过反射获取配置文件 反射基本介绍 Java反射...

  • Java 反射机制

    Java 反射机制 什么是反射 Java 反射是Java语言的一个很重要的特征,它使得Java具体了“动态性”。 ...

  • 一探究竟:Java反射效率低的原因到底在哪?

    预备知识 了解 Java 反射基本用法 看完本文可以达到什么程度 了解 Java 反射原理及 Java 反射效率低...

  • 面试官说:大家都说 Java 反射效率低,你知道原因在哪里么

    预备知识 了解 Java 反射基本用法 看完本文可以达到什么程度 了解 Java 反射原理及 Java 反射效率低...

  • Java面试题之JavaSE高级

    一、Java中的反射 1.说说你对Java中反射的理解 java中的反射首先是能够获取到Java...

网友评论

    本文标题:Java 反射

    本文链接:https://www.haomeiwen.com/subject/anrwhttx.html