请问这个错误如何解决

wswifth 2007-10-16 10:21:40
public class Test
{
public static void main(String[] args)
{
Student[] stu = new Student[2];
stu[0].name = "wanghao";
stu[0].age = 20;
stu[1] = (Student)stu[0].clone();
stu[1].name = "lele";
stu[1].age = 30;
System.out.println("stu[0]:/n name:"+stu[0].name+"/nage:"
+stu[0].age);
System.out.println("stu[1]:/n name:"+stu[1].name+"/nage:"
+stu[1].age);
}
}

class Student implements Cloneable
{
String name;
int age;
public Object clone()
{
Object o = null;
try
{
o = super.clone();
}
catch(CloneNotSupportedException e)
{
System.out.println(e.toString());
}
return o;
}
}

我这个测试时总是报java.lang.NullPointerException
at Test.main(Test.java:13)
Exception in thread "main"
请问各位高手如何解决? 讲下道理了,小弟是JAVA初学者
...全文
137 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Dan1980 2007-10-16
  • 打赏
  • 举报
回复
忘了讲道理,呵呵。

构造数组只是构造数组的框架,并不同时构造数组元素,这和C++不同。对于对象数组,构造完毕后其所有元素默认为null。
Dan1980 2007-10-16
  • 打赏
  • 举报
回复
Student[] stu = new Student[2];
后面加上:
stu[0] = new Student();
stu[1] = new Student();

62,614

社区成员

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

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