关于java的对象数组
以前做程序基本沒有用過對象數組,今做一個小程序時用到了,但運行時卻出現一些問題,?經過一翻分析和多次調試后,終于找到了原因!!!
我在是做GUI程序時用到的對象數組,下面是我程序中的一部份;
?????? 我在類中定義一個JButton的數組
??????? JButton [ ] ?b=new JButton[9];
但按下面方式給按鈕上添加內容時編譯沒什么問題,但在運行時卻總是出錯,
???? 比如 for(int i=0;i<=9;i++)???????
????????????????????{ Integer a=new Integer(i);
??????????????????????b[i].setText(a.toString());??? //設置按鈕上顯示的文字
?????????????????? }
???????? 后來通過錯誤提示,和多次調式終于分析出問題的原因,應該是b的對象數組應該在內存中沒有被創建,
?????? 后來把程序改成下面這樣,就沒問題了
?????????????????? for(int i=0;i<=9;i++)???????
????????????????????{?b[i]=new JButton();
??????????????????????Integer a=new Integer(i);
??????????????????????b[i].setText(a.toString());??????
??????????????????}??
????? 原因是在定義對象數組時,并沒有在內存中給對象數組分配空間,而是在定義后,還要給數組中每個元素在創建一次對象,就行了,
比如定義一個類 Aa,再定義它的對象數組
???????? Aa?[ ] a=new Aa[3];
????????? a[0]=new Aa();
???????? ?a[1]=new Aa();
????????? a[2]=new Aa();
最后的結論就是:Aa?[ ] a=new Aa[3]只創建了數組對象本身,而沒有創建其中那些元素,其中的每個元素還得再創建Aa對象
總結
以上是生活随笔為你收集整理的关于java的对象数组的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ASP防SQL注入攻击程序
- 下一篇: Java语言编码规范(1)