除了int等基本类型外,Java的其他类型全部都是class(包括interface)。例如: String Object Runnable Exception ... 仔细思考,我们可以得出结论:class(包括interface)的本质是数据类型(Type)。无继承关系的数据类型无法赋值: Number n = new Double(123.456); // OK String s = new
对任意的一个Object实例,只要我们获取了它的Class,就可以获取它的一切信息。 我们先看看如何通过Class实例获取字段信息。Class类提供了以下几个方法来获取字段: Field getField(name):根据字段名获取某个public的field(包括父类) Field getDeclaredField(name):根据字段名获取当前类的某个field(不包括父类) Field
我们通常使用new操作符创建新的实例: Person p = new Person(); 如果通过反射来创建新的实例,可以调用Class提供的newInstance()方法: Person p = Person.class.newInstance(); 调用Class.newInstance()的局限是,它只能调用该类的public无参数构造方法。如果构造方法带有参数,或者不是public,就无法
什么是注解(Annotation)?注解是放在Java源码的类、方法、字段、参数前的一种特殊“注释”: // this is a component: @Resource("hello") public class Hello { @Inject int n; @PostConstruct public void hello(@Param String name) { System.out.pri