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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© vipzh 中级黑马   /  2012-12-4 12:12  /  1423 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

String str=new String ("abc");
User user=new User();
这两种怎么理解,就是说java的引用数据类型怎么理解

3 个回复

倒序浏览
Java中的数据类型分为:基本类型和引用类型,基本类型分为数值类型和布尔类型,数值类型分为整数类型和浮点类型,整数类型分为byte,short,int,long,char,浮点类型分为float与double类型,引用类型包括数组类型,接口类型,类类型;引用类型是在堆内存开辟的空间存放数据,在栈内存存在的只是对这个空间的引用

评分

参与人数 1技术分 +1 收起 理由
古银平 + 1 神马都是浮云

查看全部评分

回复 使用道具 举报
User user=new User();创建一个名叫user的User类对象,       
String str=new String ("abc");创建一个名叫str内容为abc的字符串对象。

基本数据类型和引用数据类型
java的8种基本类型:
byte,short, char, int, long,float,double,boolean.
与此对应的,java提供了8种包装类型:
Byte,Short,Character,Integer,Long,Float,Double,Boolean.
所谓引用,就是指针了,就是说对象指向的不是数据本身,而是它所在的内存地址.
数组就是引用类型!
一般在传参的时候用的最多。

评分

参与人数 1技术分 +1 收起 理由
杨千里 + 1

查看全部评分

回复 使用道具 举报
本帖最后由 xjandrew 于 2012-12-4 13:27 编辑

实际上就是虚拟机在栈中产生了类类型变量str跟user,在堆中新建了区域new User()和 new String("abc")的实例,然后实例的地址赋给栈中的变量,实际上就是变量指向了实例
如图,左为栈,右边为堆
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马