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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© FlyFish 中级黑马   /  2014-11-29 20:20  /  1051 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

数组的length属性是哪来的?API里面没有定义这个字段……

评分

参与人数 1技术分 +1 收起 理由
杨佳名 + 1

查看全部评分

8 个回复

倒序浏览
数组的length即不是方法,也不是字段。
在一个数组对象上调用length,会被Java编译器编译成一条arraylength指令(Java binary code)。
而访问字段的语句会被编译成getfield或getstatic指令,调用方法的语句则会被编译成invokestatic,invokevirtual或invokespecial等指令。

评分

参与人数 1黑马币 +10 收起 理由
杨佳名 + 10 赞一个!

查看全部评分

回复 使用道具 举报
;P帮你百度来的:java中数组类的实现你是找不到的,虽然它是一个对象,但它只有两个成员:长度和数组内容而已。
有错纠错哈
回复 使用道具 举报
wf111sxwf 发表于 2014-11-29 20:51
数组的length即不是方法,也不是字段。
在一个数组对象上调用length,会被Java编译器编译成一条arraylengt ...

研究的这么深
回复 使用道具 举报
wf111sxwf 发表于 2014-11-29 20:51
数组的length即不是方法,也不是字段。
在一个数组对象上调用length,会被Java编译器编译成一条arraylengt ...

这个长见识了……
回复 使用道具 举报
wf111sxwf 发表于 2014-11-29 20:51
数组的length即不是方法,也不是字段。
在一个数组对象上调用length,会被Java编译器编译成一条arraylengt ...

这个真心长知识了,研究的真深
回复 使用道具 举报
长见识了。。。
回复 使用道具 举报
好强大的样子。。楼主应该是爱思考的人
回复 使用道具 举报
这个还真没注意!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马