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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 刘向阳 于 2012-8-5 22:53 编辑

基本类型不属于Object?那我为什么赋值是Object = 1;可以这个样子赋值呢   求帮住

7 个回复

倒序浏览
基本数据类型不是引用数据类型
Object = 1; 这句话本身就是错的哈
回复 使用道具 举报
自动装箱,1变成Integer不是赋值,是多态,引用吧
回复 使用道具 举报
就比如可以这样定义
Integer t1= 1;
Integer t2=2;
System.out.println(t1+t2);
这都是自动装箱拆箱
回复 使用道具 举报
这里是多态的存在,1可以自动装箱成为一个Integer对象,而Integer是Object
为了验证这一说法,我用反射做了下,代码如下,希望可以帮到你
public class ObjectTest {
        public static void main(String[] args) {
                Object obj = 1;
                System.out.println(obj);
                                    //拿到obj的class,打印出名字看看
                System.out.println(obj.getClass().getName());
        }
}

回复 使用道具 举报
基本数据类型只有8种  byte, short, int, lang, double, float ,boolean, char
剩下的都不是基本数据类型
Object是所有类型的父类,所以能赋值的
回复 使用道具 举报
这句代码有问题吧,没有这样赋值啊,编译不可以通过的
回复 使用道具 举报
恩,是自动装箱,谢了个位,明白了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马