社区
Java SE
帖子详情
如何建立自定义类的对象数组?
LJN
2000-01-16 01:47:00
加精
我作了一个类, 并想在其他类中定义一个它的对象数组, 但总不行,
只定义一个对象可以运行.
我试过这样实现:
1:
MyClass[] MyObj;
...
MyObj = new MyClass[num];
2:
MyClass MyObj[];
...
MyObj = new MyClass[num];
都报 NullPointerException 异常.
谁能告诉我如何定义自建类的对象数组!
...全文
4468
8
打赏
收藏
如何建立自定义类的对象数组?
我作了一个类, 并想在其他类中定义一个它的对象数组, 但总不行, 只定义一个对象可以运行. 我试过这样实现: 1: MyClass[] MyObj; ... MyObj = new MyClass[num]; 2: MyClass MyObj[]; ... MyObj = new MyClass[num]; 都报 NullPointerException 异常. 谁能告诉我如何定义自建类的对象数组!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
sunni
2001-09-18
打赏
举报
回复
你的对象数组每个元素和temp都引用了同一个对象,那么当然是这个结果啦。
LJN
2000-01-21
打赏
举报
回复
各位, 分数太少, 请将就一下。谢谢帮忙!
ahfei
2000-01-21
打赏
举报
回复
用jamesw的方法建立数组!
如果数量不固定的话,就用Vector类,其象一个List类.
jamesw
2000-01-21
打赏
举报
回复
MyClass[] myClass = new MyClass[5];
for (int i = 0; i < 5; i++)
{
myClass[i] = new MyClass();
myClass[i].num = i;
}
sh
2000-01-21
打赏
举报
回复
您的牢骚发的太不对了,Java 是一种未来的语言,在没有搞清他之前,还是平心静气地学吧!
您的问题是还没有彻底的清楚Java取消了指针而代之以引用,对象在使用之前必须给他分派一个引用,否则NULLPOINTEREXCEPTION即产生。对象的数组可以这样:
yourClass ObjArray[]=new yourClass[num];
ObjArray[0]=new yourClass(...the parameters of construct method);
:
:
:Other obj
ObjArray[0].attribute1=;
:
:
other obj.attribs or methods;
至于您得到的对象属性值都相等,也正是由于引用的原因。您将TempObj 首先赋值予 ObjArr[0],又在i=1时赋值予ObjArr[1],如此下去,孰不知您已经将这个对象数组中的所有元素都变成了对TempObj的引用,当然,他们都相等了。
LJN
2000-01-21
打赏
举报
回复
ahfei, 谢谢你回答我的问题,
按你的说法,我试着先定义一个临时对象TempObj;
然后定义一个对象数组,并循环取值,但后来发现数组所有成员
都是相同的,这样就没意义了。有什么方法使他们不一样吗?
我的实现:
MyClass TempObj = new MyClass;
MyClass ObjArr[] = new MyClass[5];
for (int i=0;i<5;i++)
{
TempObj.num = i;
ObjArr[i] = TempObj;
}
ObjArr[0-4].num都是4;
好像都只是指向了TempObj的地址,而不是取到它的值。
顺便发发牢骚:Java是那个笨蛋发明的?在VC++里实现对象数组不知多方便!
ahfei
2000-01-19
打赏
举报
回复
MyClass[] MyObj;
MyObj = new MyClass[num];
或
MyClass MyObj[];
MyObj = new MyClass[num];
都可以,只是你不能直接用MyObj[0].xxx=xxx;
要这样:
MyClass a=new MyClass();
MyObj[0]=a;
MyObj[0].xxx=xxx;(或a.xxx=xxx)
bigchen
2000-01-19
打赏
举报
回复
你为什么不用向量呢? Vector vt=new Vector();就可以作为对象数组了.具体见任意一本Java编程书.
零基础Java入门课程-
类
和对象
抽象
类
和接口 抽象
类
的规则及应用 接口的规则及应用 默认方法、静态方法、函数式接口、Lambda表达式 异常 异常的定义 异常的处理:抓(try-catch-finally)、抛(throws) 异常的分
类
、
自定义
异常的应用、throw关键字 ...
JavaScript什么是
类
数组?
JavaScript怎么让
类
数组使用上数组的方法?什么是
类
数组?数组丰富的内建方法有哪些?如何让
类
数组使用上数组丰富的内建方法? 什么是
类
数组? JavaScript 常见的
类
数组有arguments,还有获取Dom元素方法返回的结果(比如getElementsByTagName)
自定义
类
数组要怎么定义? 1.
类
数组必须包含length属性 2.
类
数组中 数组丰富的内建方法有哪些? 如何让
类
数组使用上数组丰富的内建方法? ...
Javascript中什么是伪数组?如何将伪数组转化成标准数组?
在js中,数组是特殊的对象,凡是对象有的性质,数组都有,数组表示有序数据的集合,而对象表示无序数据的集合。 那伪数组是什么呢,当然它也是对象,伪数组一般具有以下特点: 按索引方式存储数据; 具有length属性; 没有数组的push、shift、pop等方法; obj={ "0":"dai", "1":18, length:2 } function的arguments对象,还有getElementsByTagName、ele.childNodes等返回的NodeList.
如何实现
自定义
类
对象数组
的排序
如何实现
自定义
类
对象数组
的排序 分
类
: Java学习
类
2009-07-31 09:04 2254人阅读 评论(0) 收藏 举报 stringobjectclassimport 我想熟悉Arrays.sort()方法的朋友,无疑肯定是掌握了如何对基本
类
型的数组进行排如序,而在这里,我想说一下,如何对
自定义
类
对象的数组进行排序? 例如,我定义一个Student
类
,拥有两个属性,即
Java
自定义
类
数组的创建和使用
一、数组核心概念 1.数组是什么 2.数组优点 3.数组缺点 4.数组用处 二、封装一个
自定义
数组
类
1.数组属性定义 2.数组初始化方法 3.数组扩容方法 4.增加元素方法 5.删除元素方法 6.替换元素方法 7.元素排序方法 8.数组合并方法 9.获取元素方法 一、数组核心概念 1.数组是什么? 数组是内存中用来存储数据的一段连续固定长度空间,有长度、存储数据容量、下标等属性。 2.数组优点 a、数组能存储大量数据,我们可以按照索引遍历数组中的元素。 b、数组
Java SE
62,615
社区成员
307,307
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章