如何理解Class c = int.class;

sswt 2005-03-31 05:47:06
class(小写c)究竟是什么?
我觉得c是Class的对象,那么Object.class出来的也是对象了
但是int这种基本的数据类型怎么也可以 .class???

System.out.println(c.getClass().getName());
结果是java.lang.Class
...全文
295 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
kingfish 2005-03-31
  • 打赏
  • 举报
回复
reflect时会用到
比如一个函数
public int f(int i){
return 100;
}

c.getMethod("f", new Class[]{int.class});
=========
luopan0021 2005-03-31
  • 打赏
  • 举报
回复
呵呵 测试了一下
输出是:
int
class java.lang.Integer

楼上说的不错,谢谢!
oyljerry 2005-03-31
  • 打赏
  • 举报
回复
Class c=int.class; //输出int
Class c=Integer.class; //java.lang.Class
oyljerry 2005-03-31
  • 打赏
  • 举报
回复
输出int啊
luopan0021 2005-03-31
  • 打赏
  • 举报
回复
回复人: jFresH_MaN(TM) ( ) 信誉:135 2005-03-31 18:00:00 得分: 0

呵呵
失误
Class c=int.class;
Class c=Integer.class;

是什么意思?
不明白啊



sswt 2005-03-31
  • 打赏
  • 举报
回复
这么多星星来了,荣幸啊

大家给个说法撒
jFresH_MaN 2005-03-31
  • 打赏
  • 举报
回复
呵呵
失误
Class c=int.class;
Class c=Integer.class;
kingfish 2005-03-31
  • 打赏
  • 举报
回复
Class c = int.class; //OK
jFresH_MaN 2005-03-31
  • 打赏
  • 举报
回复
Class c = int.class; //编译错误

Class类是其他类的元数据,可以作为动态加载,然后使用reflect

System.out.println(c.getName());
试试结果是什么

62,615

社区成员

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

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