黑马程序员技术交流社区
标题:
就是不懂
[打印本页]
作者:
vipzh
时间:
2012-12-4 12:12
标题:
就是不懂
String str=new String ("abc");
User user=new User();
这两种怎么理解,就是说java的引用数据类型怎么理解
作者:
杨永胜
时间:
2012-12-4 12:42
Java中的数据类型分为:基本类型和引用类型,基本类型分为数值类型和布尔类型,数值类型分为整数类型和浮点类型,整数类型分为byte,short,int,long,char,浮点类型分为float与double类型,引用类型包括数组类型,接口类型,类类型;引用类型是在堆内存开辟的空间存放数据,在栈内存存在的只是对这个空间的引用
作者:
睡中忘了的睡
时间:
2012-12-4 12:48
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.
所谓引用,就是指针了,就是说对象指向的不是数据本身,而是它所在的内存地址.
数组就是引用类型!
一般在传参的时候用的最多。
作者:
xjandrew
时间:
2012-12-4 12:56
本帖最后由 xjandrew 于 2012-12-4 13:27 编辑
实际上就是虚拟机在栈中产生了类类型变量str跟user,在堆中新建了区域new User()和 new String("abc")的实例,然后实例的地址赋给栈中的变量,实际上就是变量指向了实例
如图,左为栈,右边为堆
yinyong.JPG
(13.26 KB, 下载次数: 26)
下载附件
2012-12-4 12:55 上传
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2