java 反射示例

 

***********************

获得类的class对象

 

通过类的全限定名获得class对象:Class.forName(类的全限定名)

通过类的对象实例获得class对象:对象.getClass()

通过类名获得class对象:类名.class

 

***********************

示例

 

class Base{

    public void fun(){
        System.out.println("瓜田李下");
    }
}

public class MyTest13 {

    public static void main(String[] args){
        Class<?> c=Base.class;
        System.out.println(c.getSimpleName());
        System.out.println(c.getTypeName()+"\n");

        Base base=new Base();
        Class<?> c2=base.getClass();
        System.out.println(c2.getSimpleName());
        System.out.println(c2.getTypeName()+"\n");

        Class<?> c3=null;
        try{
            c3=Class.forName("hello.Base");
        }catch (Exception e){
            e.printStackTrace();
        }
        assert c3 != null;
        System.out.println(c3.getSimpleName());
        System.out.println(c3.getTypeName());
    }
}

 

****************

控制台输出

 

Base
hello.Base

Base
hello.Base

Base
hello.Base