对象数组可以直接用”对象数组名[index].setName()”的方式设置属性吗?

qq_36622757 2016-11-08 07:52:28
我直接用下标的方式设置属性,给我报错。我另外new一个对象,然后设置属性后把新new出来的对象名赋值给对象数组名[index]就能运行,哪个大神知道为什么?
...全文
1707 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
maradona1984 2018-02-28
  • 打赏
  • 举报
回复
可以 你报错是因为你代码错了,估计是你的数组没有初始化
ggh_520917 2018-02-28
  • 打赏
  • 举报
回复
public class Test { public static void main(String[] args) { //创建对象数组 List<MyTest> list = new ArrayList<>(); //赋值 for (int i = 0; i < 2; i++) { list.add(new MyTest("张三 "+i)); } //重新设置值 list.get(0).setName("123"); //遍历输出 for (MyTest myTest : list) { System.out.println(myTest.getName()); } //打印输出 //123 //张三 1 } } class MyTest{ public MyTest() { } public MyTest(String name) { this.name = name; } private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } } 你是不是没有给数组添加对象呢?
guangkuotian 2016-11-16
  • 打赏
  • 举报
回复
因为你的那些变量都是成员变量,是随着对象的创建而创建的,每个对象的这些变量是不同,你只有new出一个对象来,才能在内存的堆区开辟出一个空间,否则你只是用了类的变量,无法赋值

13,100

社区成员

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

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