#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.