java反射 内部类方法_Java反射之基础篇

从代码角度,关于反射的用法总结,请查看Java反射之实用篇.;

一、概念

1.1 概念

简单说,JAVA反射机制是指在运行态可直接操作任意类或对象的所有属性和方法的功能。

1.2 反射的用途

在运行时获取任意对象所属的类 Class> clazz = Class.forName(String className);

在运行时构造任意类的对象 Object obj = clazz.newInstance();

在运行时获取任意类所具有的成员变量和方法 field.set(Object obj, Object value);``field.get(Object obj);

在运行时调用任意对象的方法 (最常见的需求,尤其是当该方法是私有方法或者隐藏方法)method.invoke(Object obj, Object... args);

反射还可以获取类的其他信息,包含modifiers(下面会介绍),以及superclass, 实现的interfaces等。

针对动态语言,大致认同的一个定义是:“程序运行时,允许改变程序结构或变量类型,这种语言称为动态语言”。反射机制在运行时只能调用methods或改变fields内容,却无法修改程序结构或变量类型。从这个观点看,Perl,Python,Ruby是动态语言,C++,Java,C#不是动态语言。

二、反射

2.1 核心类

java.lang.Class: 代表类 java.lang.reflect.Constructor: 代表类的构造方法 java.lang.reflect.Fi

你可能感兴趣的:(java反射,内部类方法)