A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 王金科 于 2012-8-30 15:31 编辑

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

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

int a = 3;
Class class2 = a.getClass();
这句为什么不行呢?

9 个回复

倒序浏览
int 是基本数据类型 不是类。
回复 使用道具 举报
少年,你需要 Integer
回复 使用道具 举报
唐志兵 发表于 2012-8-30 14:09
int 是基本数据类型 不是类。

我知道int是基本数据类型
为什么int.class能获得Class对象
回复 使用道具 举报
杨卓儒 发表于 2012-8-30 14:21
少年,你需要 Integer

我知道int.class==Integer.TYPE
回复 使用道具 举报
杨卓儒 发表于 2012-8-30 14:21
少年,你需要 Integer

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

getClass();必须做用在对象上.我明白了
回复 使用道具 举报
看了 这个帖子 才知道差距
回复 使用道具 举报
赵伟闯 发表于 2012-8-30 15:52
看了 这个帖子 才知道差距

哥们,加油,14期与你同在
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马