有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java零参数构造函数。为什么,在哪里?

我有一个构造器:

public class Question {



String question;
boolean correctAnswer;


public Question(String question, boolean correctAnswer)
{
    this.question = question;
    this.correctAnswer = correctAnswer;
}

}

在mainActivity中,我想显示问题,但我得到了零参数构造函数错误:

public class MainActivity extends ActionBarActivity {

Button mYes;
Button mNo;
TextView mQuestion;




@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    mYes = (Button)findViewById(R.id.button2);
    mNo = (Button)findViewById(R.id.button);
    mQuestion = (TextView)findViewById(R.id.textView);
    //question list
    ArrayList<Question> questions = new ArrayList<>();
    //adding question
    questions.add(first);
    //show the question.
    mQuestion.setText((CharSequence) questions.get(0));


}
//Creating question
Question first = new Question("Do i understand this code?", false);

我知道我必须在某处创建某种空构造函数http://docs.oracle.com/javase/tutorial/java/javaOO/constructors.html可能回答了我的问题,但是我的英语不是最好的,我只是不知道如何实现我需要的代码


共 (1) 个答案

  1. # 1 楼答案

    Bisides Rohit5k2写的东西

    这是java。然后,首先创建de对象,然后调用它。根据您的代码,on方法onCreate不会退出名为first的对象,因为它是在onCreate方法之外创建的:

    @Override
    protected void onCreate(Bundle savedInstanceState) {
    ...
    //Creating question
    Question first = new Question("Do i understand this code?", false);
    //question list
    ArrayList<Question> questions = new ArrayList<>();
    //adding question
    questions.add(first);
    //show the question.
    mQuestion.setText((CharSequence) questions.get(0).getQuestion());
    

    其中,getQuestion()是问题类的一种方法:

    public String getQuestion() {
        return this.question;
    }