Não, ao contrario, ele sirve em casos em que o objeto é inicializado sem valor específico.
pvrsouza
O "this" significa que o atributo ou método pertence ao Objeto. Quando vc estudar o modificador "static" vc vai ver que isso faz diferença, já que um atributo static pertence a classe e não ao objeto.
O this é obrigatório quando vc quer diferenciar um parametro do atributo que tenha o mesmo nome. Mas, quando esta necessidade não acontece, é uma boa prática colocar o "this" para referenciar os atributos e métodos. Veja:
publicclassEstudo{privateStringminhaVariavel;publicvoidsetMinhaVariavel(StringminhaVariavel){//this.minhaVariavel é a variável do objeto. //minhaVariavel é a variável que vem do parâmetro. this.minhaVariavel=minhaVariavel;}}
public class Estudo { private String minhaVariavel; public void setMinhaVariavel(String minhaVariavel){ //this.minhaVariavel é a variável do objeto. //minhaVariavel é a variável que vem do parâmetro. this.minhaVariavel = minhaVariavel; } }
No caso de atributo static ficaria diferente, já que ela pertence a classe:
publicclassEstudo{privatestaticStringminhaVariavel;publicvoidsetMinhaVariavel(StringminhaVariavel){//Estudo.minhaVariavel é a variável da classe. POr isto o nome da classe vai primeiro. //minhaVariavel é a variável que vem do parâmetro. Estudo.minhaVariavel=minhaVariavel;}}
jpacheco
Este this dentro do contrutor apenas diz que quando você instanciar o objeto pelo contrutor default(que você implementou sem passagem de parametros), ele ira invocar o outro contrutor que recebe dois parametros passando valores “default”(valores que no caso você definiu como “2” e “1”).
Ou seja neste caso o this serve apenas apra invocar o outro contrutor, caso quem estiver utilizando o objeto tente utilizar o contrutor default.
facadj
"No caso esse this dentro do construtor default ele serve para casos em que o objeto deve ser inicializado com valor especifico? "
No caso esse this dentro do construor default vai ser utilizado no caso voce não especifique valores para as variaveis ao iniciar o objeto.
Resumendo: O this no construtor default não serve para casos em que o objeto e inicializado com valores específicos.
Sempre falando do this do construtor default nesse caso.
No caso esse this dentro do contrutor default ele serve para casos em que o objeto deve ser inicializado com valor especifico?
O this() representa um construtor da classe com o mesmo tipo de parâmetros. Portanto this() representa o construtor sem argumentos.
this(2,1) representa o construtor que recebe dois inteiros.
O this. representa o próprio objeto portanto this.a representa o atributo a do próprio objeto.
O seu exemplo é apenas um exemplo, na vida real ou o objeto tem um construtor sem argumentos e nesse caso ele é o padrão, ou não tem.
Um código mais realista seria
outra coisa. Não existe construtor default neste código. O construtor default (padrão) é aquele que é criado em runtime pela JVM e não está explicito no codigo da classe.
O this() com ou sem parametros é usado quando vc quer delegar a construção a outro construtor.
T
thiago_258_
Entao, eu quis dizer que ele serve para quando voce quer que o objeto comece com um valor especidifico, nao especifico que voce passe pra ele na instanciação, mas especificico assim
Voce cria um objeto e o valor inicial dele nao pode ser 0 pra valores numericos e String, false para boolean (padrao do defalt) ele tem que ser por exemplo, no caso que eu mostrei 2 e 1, entao voce cria um this dentro do construtor default, caso ele nao receba nenhum argumento em sua criação, para garantir que ele vá possuir esses valores que eu defini padrao eu uso o this dessa maneira, era mais nesse sentido que eu queria dizer
sergiotaborda
thiago_258_:
Entao, eu quis dizer que ele serve para quando voce quer que o objeto comece com um valor especidifico, nao especifico que voce passe pra ele na instanciação, mas especificico assim
Voce cria um objeto e o valor inicial dele nao pode ser 0 pra valores numericos e String, false para boolean (padrao do defalt) ele tem que ser por exemplo, no caso que eu mostrei 2 e 1, entao voce cria um this dentro do construtor default, caso ele nao receba nenhum argumento em sua criação, para garantir que ele vá possuir esses valores que eu defini padrao eu uso o this dessa maneira, era mais nesse sentido que eu queria dizer
a resposta é : não, não é para isso que ele serve.