黑马程序员技术交流社区

标题: int 变量为什么无法通过getClass()获取Class[已解决] [打印本页]

作者: 王金科    时间: 2012-8-30 13:10
标题: int 变量为什么无法通过getClass()获取Class[已解决]
本帖最后由 王金科 于 2012-8-30 15:31 编辑

int 变量为什么无法通过getClass()获取Class

Class class1 = int.class;
这句可以
那么为什么

int a = 3;
Class class2 = a.getClass();
这句为什么不行呢?
作者: 唐志兵    时间: 2012-8-30 14:09
int 是基本数据类型 不是类。
作者: 杨卓儒    时间: 2012-8-30 14:21
少年,你需要 Integer
作者: 王金科    时间: 2012-8-30 14:32
唐志兵 发表于 2012-8-30 14:09
int 是基本数据类型 不是类。

我知道int是基本数据类型
为什么int.class能获得Class对象
作者: 王金科    时间: 2012-8-30 14:33
杨卓儒 发表于 2012-8-30 14:21
少年,你需要 Integer

我知道int.class==Integer.TYPE
作者: 王金科    时间: 2012-8-30 14:33
杨卓儒 发表于 2012-8-30 14:21
少年,你需要 Integer

我知道int.class==Integer.TYPE
作者: 尤洋    时间: 2012-8-30 15:10
你没弄清楚Class类的获取方法
int.class是知道一个类的类名 直接在后面加.class获得字节码
而getclass()的方法是需要知道一个对象了,才能获取字节码,
你所问的
int a = 3;
Class class2 = a.getClass();
里面a根本就不是对象,它怎么能调用getclass()方法呢?
低级错误要细心啊。。。。。。
作者: 王金科    时间: 2012-8-30 15:31
尤洋 发表于 2012-8-30 15:10
你没弄清楚Class类的获取方法
int.class是知道一个类的类名 直接在后面加.class获得字节码
而getclass() ...

getClass();必须做用在对象上.我明白了
作者: 赵伟闯    时间: 2012-8-30 15:52
看了 这个帖子 才知道差距
作者: 王金科    时间: 2012-8-30 16:45
赵伟闯 发表于 2012-8-30 15:52
看了 这个帖子 才知道差距

哥们,加油,14期与你同在




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2