为什么这个数组初始值设定项会抛出NullPointerException?

0 java arrays nullpointerexception

我目前正在研究Java,我想知道为什么这段代码会在下面指出的行引发NullPointerException.Question对象是一个用户定义的类,在初始化对象时将两个字符串作为参数.

public class QuizTime
{
    public static void main (String[] args)
    {
            Quiz qz = new Quiz();

            // Throws a NullPointerException
            qz.add (new Question ("How may US states are there?", "50"));
    }
}
Run Code Online (Sandbox Code Playgroud)

以下是支持班级.NullPointerException也表示"quiz [count] = q;"行的问题.

import java.util.Scanner;

public class Quiz
{   
    private Question[] quiz;
    private int count;
    private final int MAX_QUESTIONS = 25;

    public void Quiz ()
    {
            quiz = new Question[MAX_QUESTIONS];
            count = 0;
    }

    public void add (Question q)
    {
            if (count < MAX_QUESTIONS)
            {
                    // Throws a NullPointerException
                    quiz[count] = q;
                    count++;
            }
    }
Run Code Online (Sandbox Code Playgroud)

Sot*_*lis 5

public void Quiz ()
Run Code Online (Sandbox Code Playgroud)

应该

public Quiz() 
Run Code Online (Sandbox Code Playgroud)

为了被视为构造函数并正确初始化您的对象.否则,它是您尚未调用的方法.