您的位置:首页 > 编程语言 > Java开发

16---java反射机制01(认识Class)

2012-03-02 09:29 295 查看
Class类:

正常情况下,必须知道一个类的完整路径之后才可以实例化一个对象;

但是在java中也允许通过一个对象来找到其所在的类的信息,那么这实际上就是Class类的功能;

class Demo01{

}

public class Demo{

public static void main(String args[]){

Demo01 d=new Demo01();

System.out.println(d.getClass().getName());

}

}

上面d.getClass().getName()---》通过对象去找类;

Object类的支持:

在Object类中定义了以下的方法,此方法将被所有子类继承:

public final Class getClass()

以上的方法返回值得类型是一个"Class"类,实际Class类是java反射的源头;

所谓的反射就是通过对象反射求出类的名称;

正常方式:引入所需的"包.类"名称---》通过new实例化---》取得实例化对象;

反射方式:实例化对象----》getClass()方法---》得到完整的"包.类"名称(getName());

Class 类的构造方法私有化了,要想创建对象我们可以通过Class类的静态方法

newInstance()来创建一个新的对象;

class Demo01{

}

public class Demo{

public static void main(String args[]){

Class<?> c1=null;

Class<?> c2=null;

Class<?> c3=null;

try{

//一下的操作形式是在开发中最常用的一种形式

c1=Class.forName("Demo01");//返回的是一个Class对象的引用;

}

catch(Exception e){

}

c2=new Demo01().getClass();//通过Object类中的方法实例化

c3=Demo01.class;//通过类.class实例化

System.out.println("类名称:"+c1.getName());//得到类名称;

System.out.println("类名称:"+c2.getName());//得到类名称;

System.out.println("类名称:"+c3.getName());//得到类名称;

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: