java定义引用数据类型数组
例如我定义一个数组面板JPanelpanel[]=newJPanel[5],为什么还要加上for(inti=0;i<panel.length;i++)panel=newJ...
例如我定义一个数组面板JPanel panel[]=new JPanel[5],为什么还要加上for(int i=0;i<panel.length;i++)panel=new JPanel();呢?
上面大错了for(int i=0;i<panel.length;i++)panel[i]=new JPanel(); 展开
上面大错了for(int i=0;i<panel.length;i++)panel[i]=new JPanel(); 展开
2个回答
展开全部
1、这是个非常好的初学者的问题。
2、JPanel panel[]=new JPanel[5],代表的是申请了5个位置,这五个位置上你可以放JPanel对象,但你不放的话,它就是5个空位置,相当于null值,即什么都没有,只是个位置,就像停车场。你停不停车,都是有停车位在哪里有着。
3、for(int i=0;i<panel.length;i++)panel=new JPanel();代表的是你真正往这车位中放入车辆了。
不知明白否。
2、JPanel panel[]=new JPanel[5],代表的是申请了5个位置,这五个位置上你可以放JPanel对象,但你不放的话,它就是5个空位置,相当于null值,即什么都没有,只是个位置,就像停车场。你停不停车,都是有停车位在哪里有着。
3、for(int i=0;i<panel.length;i++)panel=new JPanel();代表的是你真正往这车位中放入车辆了。
不知明白否。
更多追问追答
追问
JPanel panel[]=new JPanel[5],这句话是不是在内存new出了五个JPanel对象的空间?
追答
1、当然不是
2、它只是申请了五个可以指向JPanel的引用而已,因为引用本身也是有类型的,也就是申请了五个引用的空间,引用空间你可以认为是一个32或64位的二进制串,并非真的是5个JPanel对象。
再进一步讲的话就比较深入了,到这个深度对你是比较恰当的,再考虑一下吧。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询