黑马程序员技术交流社区

标题: 问题已经解决int.classs是类,int类型数据为什么不是对象? [打印本页]

作者: 郑彬    时间: 2012-8-15 14:33
标题: 问题已经解决int.classs是类,int类型数据为什么不是对象?
本帖最后由 郑彬 于 2012-8-17 00:16 编辑

int.classs是类,int类型数据为什么不是对象?

作者: pphdsny3    时间: 2012-8-15 14:37
int是数据类型,它对应的对象是Integer
作者: 郑彬    时间: 2012-8-15 14:41
黑马王鹏 发表于 2012-8-15 14:37
int是数据类型,它对应的对象是Integer

int.classs是类这个怎么解释,尽然这个是类,那它的实例为什么不是对象。
作者: pphdsny3    时间: 2012-8-15 15:02
郑彬 发表于 2012-8-15 14:41
int.classs是类这个怎么解释,尽然这个是类,那它的实例为什么不是对象。

我上面说的有点问题:像int,double,long这些都是基本数据类型,不具备对象的特性。一个对象就有属性和行为,但是基本数据类型没有。
java中的Integer就是int的包装类,它定义的变量就是对象类型了,有属性和行为

int.class只是int的class对象,也就是说int.class是一个Class对象
API帮助文档中所描述的:
Class 类的实例表示正在运行的 Java 应用程序中的类和接口。枚举是一种类,注释是一种接口。每个数组属于被映射为 Class 对象的一个类,所有具有相同元素类型和维数的数组都共享该 Class 对象。基本的 Java 类型(boolean、byte、char、short、int、long、float 和 double)和关键字 void 也表示为 Class 对象
作者: 杨宗彬    时间: 2012-8-15 18:43
int 属于java基本数据类型 只有你new出来的才是对象(不包括枚举) int的包装对象是Integer
作者: 周兴华    时间: 2012-8-15 21:50
本帖最后由 周兴华 于 2012-8-15 21:51 编辑

Java是一种面向对象的语言,Java中的类把方法与数据连接在一起,构成了自包含式的处理单元。但在Java中不能实例化基本数据类型,为了能将基本类型视为对象来处理,并能连接相关的方法,Java为每个基本类型都提供了包装类,这样便可以把这些基本类型转化为对象来处理了。下表是基本数据类型与对应的包装类

作者: 纪艺松    时间: 2012-8-15 22:19
八个数据类型加VOID可以这样搞
作者: 郑彬    时间: 2012-8-17 00:17
问题已经解决




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