作业帮 > 综合 > 作业

java的Short和short,以及Long的long各有什么区别呢

来源:学生作业帮 编辑:大师作文网作业帮 分类:综合作业 时间:2024/09/22 19:48:30
java的Short和short,以及Long的long各有什么区别呢
java的Short和short,以及Long的long各有什么区别呢
yte int short long double float boolean 他们是java最基本的数据类型
而他们的包装类是Byte Integer Short Long Double Float Boolean
java是面向对象的语言
但是基本数据类型是不能new对象的 因此就有了基本数据类型包装类
拿int来说 int i = 5;和Integer i = new Integer(5); 虽然都是i 但是他们有差别的
前者的i你可以理解它只是一个值为5的数 而后者的i是一个对象 只有对象才可以调用类中的各种各样的方法 而基本数据类型就不行
比如后者的i可以调用intValue()方法拿到相当于int这个数的数值
可以说基本数据类型包装类(如Integer)是在基本数据类型(如int)基础上 在面向对象的思想上有力的补充
再问: short a=5;long b=6; 调用方法f(a),f(b);//输出int(),long(),这是为什么 void f(int a){syso...("int()")}; void f(Long a){syso...("long()")}; void f(Short a){syso...("short()")};//参数时大写的Short ......
再答: 哈哈 这个是OCJP的考试题吧 我也做过 因为java基本数据类型中小的数据类型short 如果找不到对应的小写short会自动转成比它大的基本数据类型 这个题 它刚好找到了int 所以就执行 void f(int a){syso...("int()")}; 但是这个题中long是最大的数据类型了 它不能向上转成基本类型了,当它不能向上转时,它会自动找它自己的包装类所以执行void f(Long a){syso...("long()")}; 楼主不信可以把void f(Long a){syso...("long()")};这句删了 再执行肯定报错