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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 马超 中级黑马   /  2012-5-2 15:43  /  3217 人查看  /  12 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

在java的基本数据类型中,包括:引用数据类型,请问:引用数据类型该咋使用呢?

评分

参与人数 1技术分 +1 收起 理由
贠(yun)靖 + 1

查看全部评分

12 个回复

正序浏览
任学刚 发表于 2012-5-2 23:56

郁闷呀,一个图都弄不好,哎,笨呀!
回复 使用道具 举报
本帖最后由 任学刚 于 2012-5-3 00:01 编辑


回复 使用道具 举报
file:///D:/111.bmp
回复 使用道具 举报
杨志 发表于 2012-5-2 19:14
引用就是一个地址!会指向对象所在的内存地址。
我不知道你所说的引用变量名是什么意思! ...

就比方说 class Person

Person p = new Person();

p 就是引用变量吗?
回复 使用道具 举报
java中的引用数据类型,主要是class类,数组,接口,引用数据类型怎么用,比如String s=new String();String s它是放在栈中、new String()放在堆中,String s;s可以看着是一个引用变量,new String();在堆中虚拟机分为他分配一个对象地址,new String()会把对象地址赋给c,然后c在指向堆中的new String();
回复 使用道具 举报
依然小马哥 发表于 2012-5-2 16:19
引用是指引用变量名对吗?

引用就是一个地址!会指向对象所在的内存地址。
我不知道你所说的引用变量名是什么意思!
回复 使用道具 举报
这个问题即涉及到java的内存分配又涉及到数据结构,往深里将:在java中是没有指针的概念的,可是到处都是指针的影子,就是java中的引用。java把所有的数据类型分为基本数据类型和引用数据类型,引用数据类型包括类、接口、数组。这些数据被加载到内存以后不是马上就执行的,而是放在了java的code seg中(java内存分为四部分,data,code,stack,heap),等到调用的时候即用new关键字创建对象的时候他们才在stack和heap中执行,创建对象的引用时,一定要有一个变量,这个变量的值就是这个类在heap中的地址,所以要是想用引用数据类型,就必须用这个变量调用。在数据结构方面,引用数据类型和基本数据类型具有不同的存储结构,所以由于不同的存储结构就决定了他们所占的内存大小就不一样,还有就是他们具有不同的缺省值,基本数据类型的缺省值和具体的变量类型有关,而引用数据类型的缺省值为null。

评分

参与人数 1技术分 +1 收起 理由
贠(yun)靖 + 1

查看全部评分

回复 使用道具 举报
本帖最后由 张亭 于 2012-5-2 17:38 编辑

java中引用数据类型就三种:1类(class),2,接口(interface),3,数组(array)
个人理解,引用数据类型就是指向一片内存空间的变量类型。
在使用引用数据类型之前要进行初始化, 即让其有所指向,可以用new关键字,也可以用其它引用赋值。

评分

参与人数 1技术分 +1 收起 理由
贠(yun)靖 + 1

查看全部评分

回复 使用道具 举报
1    引用类型:引用类型是用在对象上的。一个对象可以被多个引用所指向,但同一时刻,每个引用只能指向唯一的一个对象。如果一个对象被多个引用所指向,那么无论哪个引用对对象的属性进行了修改,都会反映到其他的引用当中。
回复 使用道具 举报
杨志 发表于 2012-5-2 15:56
java中的数据类型分为基本数据数据和引用数据类型。
引用数据类型比如:那么首先会在栈中去存放一个引用a, ...

引用是指引用变量名对吗?
回复 使用道具 举报
这个是一种特殊的数据类型,引用类型的, 在C中称为指向。这里也是指向的。当然不是我说的这样的简单,以为慢慢的就明白。先学好前面 的。
回复 使用道具 举报
java中的数据类型分为基本数据数据和引用数据类型。
引用数据类型比如:
  1. String a = "aaa";
复制代码
那么首先会在栈中去存放一个引用a,然后堆内存中去开辟一个空间,这个空间中就存放了一个String类的对象。然后这个引用a指向内存中的那个String对象。其中a引用中保留的就是新建的String类在内存中的地址。
其实就相当于C++中的指针一样。
  1. class User{
  2. }

  3. User u = new User();
复制代码
这个也一样。这里的 u 也只是在栈中的一个引用。而并不是一个对象。
谢谢!

评分

参与人数 1技术分 +1 收起 理由
贠(yun)靖 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马