如何继承数组?

luckcao_1979 2020-11-26 04:22:06
大家好,
小弟是初学java的,遇到一个问题,
如何定义一个类继承于数组啊?

因为:
1、在程序编写代码时,需要用下标直接访问元素,比如定义一个Row这个类,row是Row的对象,然后通过row[3]能够直接访问元素的值。
2、能够实现动态添加元素和删除元素

我想的最简单的方法就是写一个类,然后重载[]运算符,但是java不支持,那么就想能不能写一个类继承于数组呢?研究了几天了,没找到解决的办法,所以向大家求教了!

谢谢!

我之所以不用ArrayList,是因为它不能通过[]来访问元素,只能.get()的方法。

再次请求大家帮忙!谢谢!

...全文
2443 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
冰思雨 2020-11-27
  • 打赏
  • 举报
回复
楼主啊,数组不是类型啊,你C/C++里面也不可能有继承数组这一说啊。 继承是类才能继承,主要是继承类的成员变量和方法。 数组和类是两码事,根本没交集啊,何谈继承一说。 你想想C/C++里面怎么解决你的问题,Java也差不多是一个思路。 操作符重载就算了吧,那个是C++特有的,底层其实也是函数调用,使用Java就要显式的进行函数调用即可。
sunyiz 2020-11-27
  • 打赏
  • 举报
回复
row[3] 表示是 Row 这个类的对象的数组的某个元素 这是语法问题……
luckcao_1979 2020-11-27
  • 打赏
  • 举报
回复
好的,我知道了。谢谢大家!
qybao 2020-11-26
  • 打赏
  • 举报
回复
用数组一样可以动态扩充 比如写个方法 Row[] resize(Row[] row, int size) { Row[] newrow=new Row[size]; //重新生成数组 System.arraycopy(row, 0, newrow, 0, row.length); //拷贝旧数组到新数组 return newrow; } 使用时 Row[] row=new Row[10]; for(int i=0; i<10; i++) { row[i]=new Row(); } //扩充数组 row = resize(row, 20); //原来的10个Row对象还保留着
qkniit 2020-11-26
  • 打赏
  • 举报
回复
写一个List转数组的方法,不就解决问题了吗?
  • 打赏
  • 举报
回复
get()访问有啥不好吗 他的底层就是动态的数组去实现的啊
luckcao_1979 2020-11-26
  • 打赏
  • 举报
回复
@qybao 因为你这么定义的话是不能动态添加和删除的,我想扩充数组的功能,使它不仅支持下标直接访问,还可以动态添加和删除。
qybao 2020-11-26
  • 打赏
  • 举报
回复
你直接定一个Row类型的数组不就好了吗?干嘛非要纠结继承于数组,java本来就不支持运算符重载
比如
Row[] row = new Row[10]; //直接这样用不行吗?非要用Row来实现数组又啥特殊意义?
row[0] = xxx;

62,612

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧