Java正确创建对象数组

您所在的位置:网站首页 java对象数组怎么创建 Java正确创建对象数组

Java正确创建对象数组

2024-05-16 19:07| 来源: 网络整理| 查看: 265

先从一段简单的错误代码切入,然后在后面提出正确的创建方法。

先考虑这段代码:

public class Student { private int age; private String name; public void Student() { this.age = 21; this.name = "someone"; } public void setAge (int age) { this.age = age; } public int getAge() { return this.age; } } public class Test { public static void main(String[] args) { Student[] students = new Student [3]; students[0].setAge(18); System.out.println(students[0].getAge()); } }

运行结果如下,是一个空指针异常:

Exception in thread “main” java.lang.NullPointerException at Test.main(Test.java:7) 分析原因

Student[] students = new Student [3]; 这一句创建了三个Student的声明,但并没有调用Student的构造方法,等价于,

Student s1; Student s2; Student s3;

因此,s1, s2, s3的对象实际上并没有被创建,在内存上也没有一块对应的空间。那么在对象还没有被创建之前,我们自然是不可以调用它的任何方法的。

正确的对象数组创建方法 public class Test { public static void main(String[] args) { int i; Student[] students = new Student [3]; //实例化每一个元素 for (i = 0; i < students.length; i++) { students[i] = new Student(); } students[0].setAge(18); students[1].setAge(30); students[2].setAge(25); System.out.println(students[0].getAge()); System.out.println(students[1].getAge()); System.out.println(students[2].getAge()); } }

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3