黑马程序员技术交流社区
标题:
Class.forName()的作用
[打印本页]
作者:
殷士剑
时间:
2012-11-19 19:11
标题:
Class.forName()的作用
Class.forName()的作用
作者:
奚华
时间:
2012-11-19 19:26
java里面的类也是一种事物,也是一种东西,也是一种对象,譬如说人具有胳膊具有腿,具有心脏,这些是人的共同地方,所以我们可以把现实中的人抽象成Person类,那么同样的java里的类也有方法、成员变量等,这些都是类的共性,我们同样可以把java里的类抽象出来,用Class类来表示和描述java里的类,而Class.forName(String name)方法创建以name为名字的类的Class对象,创建出来的这一个Class对象集中表现了代表了名字为name的这个类的特征,比方说方法构造函数等等。Class.forName(String name);等同于 类名.class; 也等同于 对象.getClass();
作者:
王阳
时间:
2012-11-19 19:26
通过这个方法加载一个类,然后返回这个类的字节码。
作者:
曾观富
时间:
2012-11-19 19:58
首先你要明白在java里面任何class都要装载在虚拟机上才能运行。这句话就是装载类用的(和new 不一样,要分清楚)。
至于什么时候用,你可以考虑一下这个问题,给你一个字符串变量,它代表一个类的包名和类名,你怎么实例化它?只有你提到的这个方法了,不过要再加一点。
A a = (A)Class.forName("pacage.A").newInstance();
这和你
A a = new A();
是一样的效果。
作者:
聽聽我dē❤
时间:
2012-11-19 20:54
作用是要求 JVM 查找并加载指定的类,也就是说 JVM 会执行该类的静态代码段。最熟 悉的就是 JDBC 连接数据库的时候加载驱动类。 注册一个数据库驱动,将驱动加载到当前的 JVM 中。Class.forName(xxx.xx.xx) 返回的是一个类,如在 Java 中,JDBC 连接数据库操作, 用该方法加载驱动类 2、反射,可以动态获取一个类的方法、属性、构造方法等信息,可以动态创建类 另外:Class.forName(String path)方法可根据我们给定的类全限定名来加载这个类文件到 内存中,并返回给我们一个 java.lang.Class 类的实例,这个 Class 类就是我们加载的那个类 文件在 java 中的模拟,通过 Class 类的实例,我们可以获得它的方法、构造器、反射的实例 化获得实例,再通过实例反射调用其方法等。反射算是 java 独特的一个功能,用处很大。
作者:
陈军
时间:
2012-11-20 12:39
一句话: 用于获取类的Class对象。 通常用于反射。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2