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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 黑色幽默K 中级黑马   /  2015-3-22 17:23  /  4196 人查看  /  17 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

int x = new int();
x = 5;
是不是引用型数据变量和基本数据类型变量的不同呢?

评分

参与人数 1技术分 +1 收起 理由
lwj123 + 1

查看全部评分

17 个回复

倒序浏览
这是在干什么的。
回复 使用道具 举报
本帖最后由 万合天宜 于 2015-3-23 08:39 编辑

引用数据变量有数组,字符串和类,因此都采用地址表示,数组字符串还是直接复制,但是对象得new出来才行
基本数据类型直接定义就行例如: int x ; 或 int x = 1
回复 使用道具 举报
基本类型不能用new,但基本类型的包装类就可以
回复 使用道具 举报
new是引用型数据用的.x是基础数据.
回复 使用道具 举报
万合天宜 发表于 2015-3-22 17:51
引用数据变量有数组,字符串和对象,因此都采用地址表示,数组字符串还是直接复制,但是对象得new出来才行
...

应用数据类型应该还有接口才对嘛!版主大人!

点评

说错了,引用数据类型应该是数组,字符串和类,接口是抽象类~~  发表于 2015-3-23 08:38
回复 使用道具 举报
java中的8种基本数据类型是不支持面向对象的编程机制的,也就是不具备“对象”的特性,所以new int()就是一个非法表达,java是不识别的,如果要把基本类型变量指向一个对象,那么这个对象就是将基本数据类型进行包装的包装类,可用 int x = new Integer(555);来表示。java1.5后支持包装类的自动装箱和拆箱,很方便的,例如Integer num = 5就是将一个基本类型变量赋给Integer对象,这样num作为对象就可以调用一些方法(例如num.toString将数字555转换成字符串555等)。
回复 使用道具 举报
类名不能使用关键词
回复 使用道具 举报
pkdo0 初级黑马 2015-3-22 20:55:26
9#
int类型是基础类型,int类型没有继承Object类,Integer类型才是继承了Object类型,具有面向对象的概念。
还有map,list这些容器都不能装int类型的对象,要装只能装Integer类型的对象
回复 使用道具 举报
基本类型可以直接赋值,引用类型获得的是地址值,你左边是基本类型,右边是new()对象也就是内存地址,编译肯定要报错的
回复 使用道具 举报
int x=5;或者int[] Arr = new int[];
回复 使用道具 举报
class Demo
{  }
main()
{
    Demo d = new Demo();
}
这个是引用数据变量
回复 使用道具 举报
基本数据类型不能用new的,如果非要new出一个整数,可以用Integer
回复 使用道具 举报
int x=new int();你这不像数组你到堆里面去创造内存干嘛?
回复 使用道具 举报
同8楼。
回复 使用道具 举报
恩,int不是一个类,而是基本类型的变量啊
回复 使用道具 举报
恩,要引用对象,直接用Integer就行,基本类型怎么能新创建呢?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马