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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 可见 中级黑马   /  2012-3-9 12:20  /  4359 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

为什么定义数组之后,就可以调用它的一些属性呢?

例如:当我使用int[]声明并初始化之后,就可以使用它的静态属性length;当我使用String[]声明并初始化一个数组之后,同样可以调用它的静态属性length;

试问:Java中如何判断出来我编写的代码中,这就是一个数组呢?【亦或者说:这个“数组类”是什么?请帮我解答一下,不胜感激!】

7 个回复

倒序浏览
这原理问的太深奥了,,一些底层的东西还是留给那些编程天才弄把、、、你只要搞定 这是什么东西、、怎么用、、就可以了。。。等基础打好了以后慢慢研究会比较好吧、、、、个人建议。

只知道数组是连续存储的结构,数组对象在声明的时候是显式定义的,编译器就可以辨认出来,也就是说、编译器知道他是什么东西,它有什么东西。

评分

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

查看全部评分

回复 使用道具 举报
   
内存结构
        Java程序在运行时,需要在内存中国分配空间,为了提高运算效率,有对空间进行了不同区域的划分,因为每一块区域都有特定的处理数据方式和内存管理方式
        栈内存
                用于存储局部变量。当数据使用完时自动释放所占内存空间
        堆内存
                数组 对象 通过new的建立的实例都存放在堆内存中
                每一个实体都有内存地址
                实体中的变量都有默认的初始化值
                实体不再被调用时会在不确定的时间内被垃圾回收器回收       
                如:



    我的笔记  希望对你有用

评分

参与人数 1技术分 +2 收起 理由
职业规划-刘倩老师 + 2 赞一个!

查看全部评分

回复 使用道具 举报
这是Java为我们提供的好的数据结构,里面的数据都是连续的存储,我们没有必要明白底层的实现,当我使用int[]声明并初始化之后,Java编译器就知道它是数组类型的数据结构,数组类型有字段和相应的方法
回复 使用道具 举报
有些深奥的东西 咱不用知道 ,先会用再说吧
回复 使用道具 举报
贠(yun)靖 发表于 2012-3-9 14:55
内存结构
        Java程序在运行时,需要在内存中国分配空间,为了提高运算效率,有对空间进行了不同区域的 ...

这个图真不错,理解了下int [] x=new int[3];这样相当于只生成了一个对象,默认地址是和数组第一个元素地址一致的,数组的唯一缺点就是必须指定是什么类型的数组,这个类型不能是类这样的类型。 List的机理和数组很像只是List存的是objcet。
回复 使用道具 举报
泮和顺 发表于 2012-3-9 15:15
这个图真不错,理解了下int [] x=new int[3];这样相当于只生成了一个对象,默认地址是和数组第一个元素地 ...

呵呵 都是老毕的功劳  以前我也不懂的  看了他的视频后  感觉这些东西都好清晰的   
回复 使用道具 举报
victan 初级黑马 2012-8-14 14:46:21
8#
贠(yun)靖 发表于 2012-3-9 15:25
呵呵 都是老毕的功劳  以前我也不懂的  看了他的视频后  感觉这些东西都好清晰的    ...

请问你上面提到的视频是什么视频,能分享一下么.感激不尽
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马