java动态数组长度问题

Person[]sudents;sudents=newPerson[2];Personzhang=newPerson();zhang.age=16;zhang.heigh... Person[] sudents;
sudents=new Person[2];
Person zhang=new Person();
zhang.age=16;
zhang.height=165;

Person lee=new Person();
lee.age=18;
lee.height=180;

sudents[0]=zhang;
sudents[1]=lee;
lee.infof();
zhang.infof();
sudents[1].infof();
sudents[0].infof();

我想知道sudents定义的数组长度不是为2吗,怎么 sudents[0]也可以输出age和height的,这不是有点矛盾吗,它定义的长度是2
展开
 我来答
Mexico卡卡
2017-11-08 · TA获得超过1万个赞
知道大有可为答主
回答量:1.3万
采纳率:98%
帮助的人:1904万
展开全部
public class ArraycopyTest {
// arraycopy(Object src, int srcStartIndex, Object dest, int destStartIndex,
// int length)
// 从指定源数组中复制一个数组,复制从指定的位置开始,到目标数组的指定位置结束。
// srcStartIndex:原数组中要开始复制的第一个元素的位置
// destStartIndex: 目标数组中要开始替换的第一个元素的位置
// length: 要复制的元素的个数
public static void main(String[] args) {
// 静态初始化两个长度不同的数组
int src[] = { 1, 2, 3, 4, 5, 6 };
int dest[] = { 10, 9, 8, 7, 6, 5, 4, 3, 2, 1 };
// 将数组src的4个元素copy到数组dest中
System.arraycopy(src, 1, dest, 2, 4);// 输出数组dest
百毒千毒
2017-11-08 · TA获得超过4737个赞
知道大有可为答主
回答量:2504
采纳率:88%
帮助的人:664万
展开全部
哈哈..数组下标都是从0开始的,所以你定义2个他就是,0,1
长度是完整的2,但是数的时候也就是你取的时候,是从0开始数的!
更多追问追答
追问
我知道是0,1开始,那为什么0的又可以输出年龄跟身高变量,我的理解是0输出年龄,1输出身高,按照0,1都可以输出年龄和身高,那不是成了4个变量吗,我就是不懂这个
或者定义了数组长度。那它自身也是两个数组长度吗
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式