我是Java的初学者,我正在尝试以下代码:
public class MovieTestDrive {
public static void main(String[] args) {
Movie one = new Movie();
one.title = "Gone with the Stock";
one.playIt();
System.out.println(one.title); // Works!! one.title is equal to Dora
Movie [] arr = new Movie[2];
arr[0].playIt();
System.out.println(arr[0].title); //Error: Null Pointer Exception
}
}
class Movie {
String title;
void playIt() {
title = "Dora";
}
}
Run Code Online (Sandbox Code Playgroud)
为什么代码在原始变量的赋值中起作用而在使用数组时却不起作用?
unw*_*ind 10
因为你所拥有的arr只是一个对象引用数组,但它们并未初始化为指向任何实际对象.
你还需要这样做:
arr[0] = new Movie();
arr[1] = new Movie();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
139 次 |
| 最近记录: |