社区
Java SE
帖子详情
关于 类.class 与对象.getClass() 以及 Class.forName("类名");
adrain_sengtang
2008-12-26 02:45:08
请问 :
有一个类A
Class cl=A.class;
jvm究竟在内存中做了什么 ?
而 对象.getClass() 以及 Class.forName("类名"); jvm 又做了什么 ?
...全文
265
5
打赏
收藏
关于 类.class 与对象.getClass() 以及 Class.forName("类名");
请问 : 有一个类A Class cl=A.class; jvm究竟在内存中做了什么 ? 而 对象.getClass() 以及 Class.forName("类名"); jvm 又做了什么 ?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
jhr924
2008-12-26
打赏
举报
回复
[Quote=引用 4 楼 jiangnaisong 的回复:]
引用楼主 adrain_sengtang 的帖子:
请问 :
有一个类A
Class cl=A.class;
jvm究竟在内存中做了什么 ?
而 对象.getClass() 以及 Class.forName("类名"); jvm 又做了什么 ?
答:
1)Class cl=A.class; JVM将使用类A的类装载器,将类A装入内存(前提是:类A还没有装入内存),不对类A做类的初始化工作.返回类A的Class的对象
2)Class cl=对象引用o.getClass();返回引用o运行时真正所指的对象(因为:儿子对象的引用可能…
[/Quote]
高手
云上飞翔
2008-12-26
打赏
举报
回复
[Quote=引用楼主 adrain_sengtang 的帖子:]
请问 :
有一个类A
Class cl=A.class;
jvm究竟在内存中做了什么 ?
而 对象.getClass() 以及 Class.forName("类名"); jvm 又做了什么 ?
[/Quote]
答:
1)Class cl=A.class; JVM将使用类A的类装载器,将类A装入内存(
前提是:类A还没有装入内存
),
不
对类A
做类的初始化工作
.返回类A的Class的对象
2)Class cl=对象引用o.getClass();返回引用o
运行时真正所指的对象
(因为:儿子对象的引用可能会赋给父对象的引用变量中)所属的类的Class的对象
3)Class.forName("类名"); JAVA人都知道.
装入类A
,并
做类的初始化
.
gongfuliang
2008-12-26
打赏
举报
回复
getClass是获取对象的Class对象,
Class.forname是要求JVM查找并加载指定的类,JVM会执行该类的类域和静态代码段
二者还是有区别的哦
helei123a
2008-12-26
打赏
举报
回复
学习
树成
2008-12-26
打赏
举报
回复
前面两个放法就是获得一个Class类对象而已,没做什么;
Class.forName通过用户当前类加载器根据提供的类名加载类到虚拟机中,然后返回这个类的Class对象。
类
名
.
class
,
class
.forName(), get
Class
()区别
2、
Class
.forName("
类
名
字符串")(注:
类
名
字符串是包名+
类
名
) 说明:装入
类
,并做
类
的静态初始化,返回
Class
的
对象
。 3、实例
对象
o.get
Class
() 说明:对
类
进行静态初始化、非静态初始化;返回引用o运行时真正所指...
Java中的“
类
名
”.
class
、
Class
.forName()、“引用名”.get
Class
()
class
是Java中每个
类
都有的一个静态属性
class
,
类
名
.
class
是使 JVM 将使用
类
装载器将
类
装入内存(前提是
类
还没有装入内存),不做
类
的初始化工作,返回
Class
对象
。 (2)
Class
.forName(): forName()方法是
Class
类
...
【Java】
类
名
.
class
,
class
.forName(), get
Class
()区别
Class
对象
的生成方式如下: 1.
类
名
.
class
说明: JVM将...2.
Class
.forName("
类
名
字符串") (注:
类
名
字符串是包名+
类
名
) 说明:装入
类
,并做
类
的静态初始化,返回
Class
的
对象
3.实例
对象
.get
Class
() 说明:对
类
进
java中
Class
对象
详解和
类
名
.
class
,
class
.forName(), get
Class
()比较
Class
对象
一般使用于反射情况下,通过反射可以在运行期获取对应
类
的
Class
...1.
类
名
.
class
jvm把
类
加载进内存但不进行初始化,返回
Class
对象
2.
Class
.forName("包名.
类
名
") ,装入
类
,默认同时进行静态...
java中
类
名
.
class
,
class
.forName(), get
Class
()区别
Class
对象
的生成方式如下: ...2.
Class
.forName("
类
名
字符串")(注:
类
名
字符串是包名+
类
名
) 说明:装入
类
,并做
类
的静态初始化,返回
Class
的
对象
3.实例
对象
.get
Class
() 说明:对
类
进行静态初始化...
Java SE
62,615
社区成员
307,307
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章