Java позволяет суммировать this.classVar = parameter; this.classVar2 = parameter2;
выражений до this(parameter, parameter2)
.По крайней мере, используется в конструкторе.Но этот код не работает, когда я перехожу с первого способа (прокомментированного в коде) на последний способ в установщике:
class Client {
String nombre, apellidos, residencia;
double comision;
void setClient(String nombre, String apellidos, String residencia, double comision){
this(nombre, apellidos, residencia, comision);
//this.nombre = nombre;
//this.apellidos = apellidos;
//this.residencia = residencia;
//this.comision = comision;
}
}
Ошибка говорит:
"call to this must be first statement in the constructor.
Constructor in class Client cannot be applied to given types.
required: no arguments
<p>found: String, String, String, double
<p>reason: actual and formal argument list differ in length" (I haven't created one, just left the default).
Так, этот способ использования 'this
' действителен только для конструкторов и поэтому не подходит для сеттеров?Требуется ли явно кодировать конструктор (если да, то почему?)?