黑马程序员技术交流社区

标题: 请教数组问题 [打印本页]

作者: FlyFish    时间: 2014-11-29 20:20
标题: 请教数组问题
数组的length属性是哪来的?API里面没有定义这个字段……

作者: wf111sxwf    时间: 2014-11-29 20:51
数组的length即不是方法,也不是字段。
在一个数组对象上调用length,会被Java编译器编译成一条arraylength指令(Java binary code)。
而访问字段的语句会被编译成getfield或getstatic指令,调用方法的语句则会被编译成invokestatic,invokevirtual或invokespecial等指令。
作者: 郑飞    时间: 2014-11-29 20:56
;P帮你百度来的:java中数组类的实现你是找不到的,虽然它是一个对象,但它只有两个成员:长度和数组内容而已。
有错纠错哈
作者: DamonZh    时间: 2014-11-29 21:07
wf111sxwf 发表于 2014-11-29 20:51
数组的length即不是方法,也不是字段。
在一个数组对象上调用length,会被Java编译器编译成一条arraylengt ...

研究的这么深
作者: FlyFish    时间: 2014-11-29 21:08
wf111sxwf 发表于 2014-11-29 20:51
数组的length即不是方法,也不是字段。
在一个数组对象上调用length,会被Java编译器编译成一条arraylengt ...

这个长见识了……
作者: 娱尘    时间: 2014-11-29 22:20
wf111sxwf 发表于 2014-11-29 20:51
数组的length即不是方法,也不是字段。
在一个数组对象上调用length,会被Java编译器编译成一条arraylengt ...

这个真心长知识了,研究的真深
作者: xingkong123    时间: 2014-11-29 22:45
长见识了。。。
作者: as604049322    时间: 2014-11-30 11:20
好强大的样子。。楼主应该是爱思考的人
作者: lwh316658735    时间: 2014-11-30 12:38
这个还真没注意!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2