как понять, что инструмент возвращает переменные

#java

#java

Вопрос:

Я нахожу похожий код на языке c #, теперь я все еще не понимаю его в java, код ниже

 public class TaskItemAnswerObject {
    private Integer examPaperId;
    private Integer examPaperAnswerId;
    private Integer status;

    public TaskItemAnswerObject(){

    }

    public TaskItemAnswerObject(Integer examPaperId, Integer examPaperAnswerId, Integer status) {
        this.examPaperId = examPaperId;
        this.examPaperAnswerId = examPaperAnswerId;
        this.status = status;
    }
}
 

итак, почему мы сначала определяем целочисленную переменную examPaperId, а затем почему мы повторяем делать такие вещи, как «this.examPaperId= examPaperId», для меня это странно. должен ли я использовать другой метод для передачи этого параметра? Или какая-либо польза от этого?

Комментарии:

1. Вам лучше прочитать какую-нибудь книгу по Java, чтобы изучить синтаксис (конструктор, класс, поле), чем спрашивать здесь; также попробуйте сначала изучить.

Ответ №1:

Есть три места, где examPaperId упоминается имя. Назначение каждой строки заключается в следующем:

 private Integer examPaperId;
 

объявляет, что TaskItemAnswerObject класс содержит имя переменной экземпляра examPaperId типа Integer .

 public TaskItemAnswerObject(Integer examPaperId, Integer examPaperAnswerId, Integer status) {
 

объявляет конструктор для TaskItemAnswerObject объекта, который принимает параметр типа Integer named examPaperId в качестве своего первого параметра.

 this.examPaperId = examPaperId;
 

выполняется при вызове упомянутого выше конструктора. Он принимает входящий параметр с именем examPaperId и присваивает его переменной экземпляра с именем examPaperId в экземпляре TaskItemAnswerObject создаваемого класса.

Существуют другие языки, которые могут делать все это за меньший объем кода. В частности, Kotlin может сделать все это в одной строке кода. Но синтаксис Java такой, какой он есть. Именно так все это работает в Java.