Java 反射---获取Class的三种方式

来源:互联网 发布:php get class method 编辑:程序博客网 时间:2024/06/06 02:53




           

public class ClassDemo1 {public static void main(String[] args) throws ClassNotFoundException, InstantiationException, IllegalAccessException{//Foo的实例对象如何表示Foo foo1=new Foo();//foo1就表示出来了//Foo这个类 也是一个实例对象,Class类的实例对象如何表示//任何一个类都是Class类的实例对象,这个实例对象有3中表示方式/*第一种表示方式--》实际在告诉我们任何一个类都有一个隐含的静态成员变量*/Class c1=Foo.class;/*第二种表达方式:已知该类的对象,通过getClass方法*/Class c2=foo1.getClass();/*官网:c1/c2表示了Foo类的类类型(class type) * 类也是对象,是class类的实例对象 * 这个对象我们成为该类的类类型 * *//*不管c1 or c2都代表了Foo类的类类型,一个类只可能是Class类的一个对象*/System.out.println(c1==c2);//true//第三种表达方式Class c3=null;c3=Class.forName("ShuiTian.NaiLuo.Reflect.Foo");System.out.println(c3);/*我们完全可以通过类的类类型创建该类的对象 * 通过c1 or c2 or c3创建父的实例 *  * */Foo foo=(Foo)c1.newInstance();//使用newInstance需要有无参数的构造方法}}class Foo{}



1 0
原创粉丝点击