class.forName()有什么作用啊?

guwen391 2008-09-11 05:07:32
如题,它的作用是 什么啊 ?
...全文
196 13 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
fytain 2008-09-11
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 liuzhenfeng 的回复:]
JVM 可以查找并加载一个类,这与Java的执行原理有关,他会返回一个Class对象,当然也会执行类中的静态代码....
[/Quote]

好像1.4以前,执行class.forName()会默认执行静态代码,1.5就
不再执行了。

要想完整搞明白这个,需要懂Java虚拟机的一些原理,可以看<深入Java虚拟机>那本书,如果你不歉头大的话,呵呵。
minisun2000 2008-09-11
  • 打赏
  • 举报
回复
说白了就是在JVM上加载一个类
zjjun 2008-09-11
  • 打赏
  • 举报
回复
我只见过jdbc连数据库时 用他获得驱动类
guoxyj 2008-09-11
  • 打赏
  • 举报
回复
反射机制
yangdu328 2008-09-11
  • 打赏
  • 举报
回复
参数:类的名字 属于字符串类型
返回值:class 对象
用来动态的加载一个类,获得并使用该类的属性和方法,可以动态的创建该类的对象
****************************************************************************

使用反射的步骤
1、获得我们想操作的类的java.lang.Class对象
得到Class对象有三种处理方式:
(1)在编译期不知道类名,但在运行期可以获得该类名:Class c=Class.forName(“类名”);
(2)在编译期知道类名:Class c= 类名.class,若为基础类型,还可这样用(例如为整型)Class c= Integer.TYPE;
(3)如果一个类的实例已经得到:Class c=对象名.getClass();

2、取得该类中定义的所有的方法的列表(如果含有declared,则获得所有声明的方法,否则只能获得public类型的方法)
3、使用reflection API来操作第二步获得的信息
yyjl1983 2008-09-11
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 lybjust 的回复:]
一种类的实例化
[/Quote]
就是这个
ZiSheng 2008-09-11
  • 打赏
  • 举报
回复
参数:类的名字
返回值:class 对象
milooxu 2008-09-11
  • 打赏
  • 举报
回复
反射用,动态的获得一个类的模板,加载这个类。
lovelp123 2008-09-11
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 beguile 的回复:]
我只见过jdbc连数据库时 用他获得驱动类
[/Quote]

这个对
goosman 2008-09-11
  • 打赏
  • 举报
回复
反射机制,是java作为准动态语言的一个重要的特征,反射带来了很大的灵活性,同时在一定程度上破坏了封装性
lybjust 2008-09-11
  • 打赏
  • 举报
回复
一种类的实例化
热带鱼2020 2008-09-11
  • 打赏
  • 举报
回复
我只见过jdbc连数据库时 用他获得驱动类
刘振锋 2008-09-11
  • 打赏
  • 举报
回复
JVM 可以查找并加载一个类,这与Java的执行原理有关,他会返回一个Class对象,当然也会执行类中的静态代码....

62,634

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧