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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 黄玉昆 黑马帝   /  2013-3-8 17:53  /  6722 人查看  /  76 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 黄玉昆 于 2013-3-8 19:20 编辑

重申一下啊:
数据类型有几种?两种
基本数据类型,引用数据类型
基本数据类型:byte、short、int、long、char、boolean、float、double
引用数据类型:类类型、数组、接口
如Person p = new Person("张三",23);在这里,各类型如下:
基本数据类型:是int型的23,存在于栈内存中
引用数据类型:
   是引用型变量p,存在于栈内存中
   类类型有两个:
   1、是类型为类Person,new出来的对象:new Person("张三",23);存在于堆内存中
   2、是类型为String的"张三",存在于方法区中的常量池中。
回答是否正确呢?请高手解答
邪恶一下,求加金币啊!!!!!!!!!

评分

参与人数 3黑马币 +46 收起 理由
大晨晨 + 1
高境 + 30
李培根 + 15 赞一个!

查看全部评分

76 个回复

倒序浏览
{:soso_e127:}说的太全面了,无言了 要我回答我脑子有个 空类型
回复 使用道具 举报
引用数据类型中除了类数据类型,还包括数组数据类型和接口数据类型,学的好像也就这么多种类
回复 使用道具 举报
还有自定义类型,如:Student stu =new Student(); Worker w=new Worker();这些都属于自定义类型的,
Person p = new Person("张三",23);这Person也应该属于自定义类型的吧,不过我对类类型可没概念,没怎么听说过,不了解!
回复 使用道具 举报
张卫刚 发表于 2013-3-8 18:03
说的太全面了,无言了 要我回答我脑子有个 空类型

不好意思啊,刚才的帖子写的不对,现在修改了一下,希望不会对你造成误解
回复 使用道具 举报
杜超 发表于 2013-3-8 19:12
还有自定义类型,如:Student stu =new Student(); Worker w=new Worker();这些都属于自定义类型的,
Perso ...

个人认为,Person也是一个类,是类类型的数据
回复 使用道具 举报
话说,那个23为什么不在常量池中

评分

参与人数 1黑马币 +9 收起 理由
黄玉昆 + 9 赞一个!

查看全部评分

回复 使用道具 举报
李志卫 发表于 2013-3-9 02:54
话说,那个23为什么不在常量池中

我查了相关资料,这个23好像还真在常量池中,是我的疏忽了,我们如果不深究的话,如int a = 23;直接把a = 23放到了栈内存中,忽略了常量池的概念,常量池中确实是存放着一些永久不变的数据,如我们写的代码。但是需要说明的是,其实这个23只是字面值,就是我们看到的23这个值,而在java中具体都是以二进制形式表示的,并用符号表示的。我们只不过形象化了这个数。
谢谢你的质问,赞一个
回复 使用道具 举报
学习一下{:soso_e130:}
回复 使用道具 举报
记忆中,感觉String和类还有数组都是引用类型,String s = "aaa"; "aaa"作为一个String对象存在于方法区,s指向方法区。
不知对不对。
回复 使用道具 举报
第一:new Person是在堆内在中建立对象,对象的属性有String name = "张三",int age = "23"。所以我认为int 23是存在堆内存中的,而不是楼主说的栈内存。
第二:类类型的第二个,我不赞同。张三的代码在方法区常量池中,要看张三这个变量的代码是否静态,如果静态的话,就在方法区,否则,作为对象的属性,就存在于堆内存中。要看程序的需求,是叫张三的一个人,还是叫张三的很多人。
回复 使用道具 举报
回复 使用道具 举报
回复 使用道具 举报
很棒,
回复 使用道具 举报
牛逼牛逼我最牛逼牛逼牛逼我最牛逼牛逼牛逼我最牛逼
回复 使用道具 举报
回复 使用道具 举报
yy1134787753 来自手机 中级黑马 2018-5-28 14:12:03
17#
很棒,很强势
回复 使用道具 举报
厉害了,厉害了
回复 使用道具 举报

帅,棒棒哒
回复 使用道具 举报
666666666666666666666666
回复 使用道具 举报
1234下一页
您需要登录后才可以回帖 登录 | 加入黑马