关于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的对象数组相关推荐
- [转载] Java中对象数组的使用
参考链接: 如何在Java中交换或交换对象 Java对象数组使用 一.Java数组的使用二.Java的对象数组2.1 问题提出2.2 问题解析2.3 问题拆分2.4 代码实现 一.Java数组的使用 ...
- 【零基础学Java】—对象数组(十三)
[零基础学Java]-对象数组(十三) /*** @author :CaiCai* @date : 2022/4/7 11:08*/ public class demo05 {public stati ...
- 对象数组转成字符串数组 java_如何在Java中将对象数组转换为字符串数组
如何在Java中将对象数组转换为字符串数组 我使用以下代码将Object数组转换为String数组: Object Object_Array[]=new Object[100]; // ... get ...
- Java中对象数组的使用
Java对象数组使用 一.Java数组的使用 二.Java的对象数组 2.1 问题提出 2.2 问题解析 2.3 问题拆分 2.4 代码实现 一.Java数组的使用 对象数组其实和Java的数组类似的 ...
- java 静态对象数组_Java静态方法和实例方法 java中的数组作为形参传入
原标题:Java静态方法和实例方法 java中的数组作为形参传入 Java静态方法和实例方法 java中的数组作为形参传入 Java虚拟机 启动一个Java程序的时候,会诞生一个虚拟机实例,当程序关闭 ...
- 【群友问题讨论】java类对象数组一些知识盲区
爱学习的群友问了一道题,靠着我刚过英语四级的水平,翻译一下就是:下列哪个关键词是定义java类所必要的,答案显而易见是class,因为"类"这个名词就是由"class&q ...
- Jackson获取某个子节点的值并将其转化为Java的对象数组
这里的Json数据很复杂,里面有好几层,而且其中 的子节点是一个数组,在这里,需要将数组内容封装为Java的数组对象: Json的内容: {"tbk_dg_item_coupon_get_r ...
- java的对象数组和ArrayList集合
对象数组 创建Person对象 public class Person {private String name;private int age;public Person() {}public Pe ...
- java中对象数组如何构造_对象数组如何构造
定义一个对象数组时是如何调用构造函数和析构函数的 #include #include using namespace std; //对象数组的初始化请看该函数 class student { publ ...
- java定义对象数组初始化_怎么定义对象数组 JAVA中怎么初始化对象数组?
java类怎样定义数组对象数组 在c++编程中,怎么定义对象数组的指针? JAVA中怎么初始化对象数组? java中怎么创建对象数组?比如我创建了一个学生类Sclass Student{ } 类中怎么 ...
最新文章
- 学计算机广东2B大学,2017年广东2B大学最新排名情况
- knockout + easyui = koeasyui
- 在Ubuntu 11.10中将窗口按钮移回右侧
- ASP.NET Core 入门教程 8、ASP.NET Core + Entity Framework Core 数据访问入门
- 字符串t1t2t3t4
- 概率论基础知识(书本摘录总结)
- iOS--通过assetURL获取到视频
- NUC970裸机IIC驱动
- Android studio真机调试返回 Entry name ‘assets/ae/res.ck‘ collided
- HTML 星空动图背景(canvas+JS)
- aws ecs 理解元数据和mock本地测试环境
- 技术前沿---5G技术的实现原理
- 怎么理解面向对象编程【java基础第一讲】
- iOS 像素图转高清大图
- 小黑屋激活器 提示 设备上还有账户未删除
- 计算机综合布线基本知识,图文讲解!综合布线系统基础知识大全!
- 高仿墨迹天气-天鹰气象
- BugkuCTF-WEB-网站被黑
- 虚拟机的管理及快捷键
- 外贸专员简历表-Word简历可编辑下载
热门文章
- 通过Anaconda在Ubuntu16.04上安装 TensorFlow(GPU版本)
- 401 - 未授权: 由于凭据无效,访问被拒绝。
- 基于TCP协议的socket通信
- Java读书笔记05 类与对象
- 30个最常用css选择器解析
- xnawindowsph又见“X”Phone ePhone手机V90新鲜评测
- 茶香账簿小程序开发进度(1)
- 修复使用codeXmlDocument/code加载含有DOCTYPE的Xml时,加载后增加“[]”字符的错误...
- jquery插件开发;(function ( $, window, document, undefined ){}(jQuery, window,document)分析
- python字符类型的一些方法