Duvida sobre o this?

1 resposta
Arthur_Maskalenkas

Boa tarde! meu professor me passou um conteudo contendo 2 classes, uma classe chamada aluno e a outra curso, porém me deparei com um “this” entre parenteses e não consigo entender o funcionamento do algoritmo, mesmo revisando o video pela 5 vez e procurando em outros.
se alguem puder me explicar o funcionamento do codigo e do pq do “this” entre parenteses, irei ficar eternamente grato haha
segue o codigo

CLASSE CURSO

package cursos;

import java.util.ArrayList;
import java.util.List;

public class Curso {

String curso;

final String nome;
Curso(String nome){

this.nome = nome;

}

List alunos = new ArrayList();

void adicionarAluno(Aluno aluno){

this.alunos.add(aluno);

aluno.cursos.add(this);// <ESSE THIS, NÃO ENTENDI A QUEM ELE ESTA SE REFERINDO

}

}

CLASSE ALUNO

package cursos;

import java.util.ArrayList;
import java.util.List;

public class Aluno {
final String nome;

Aluno(String nome){

this.nome = nome;

}

List cursos = new ArrayList();

void adicionarCurso(Curso curso){

this.cursos.add(curso);

curso.alunos.add(this);// <----NOVAMENTE ESSE THIS QUE EU NÃO FAÇO IDEIA DO PQ

}

}

e outra duvida, porem não menos importante; como que eu faço para dar melhor resposta no topico?

1 Resposta

staroski

O objeto aluno possui um atributo cursos que é do tipo List.
Pois bem, a Interface List define um método add que recebe como parâmetro o objeto a ser inserido na lista.
O this é a forma de você referenciar a instância da própria classe cujo código está sendo executado naquele momento.
Então naquela linha você está adicionando o próprio objeto do tipo Curso na lista de cursos do aluno.
Então nessa linha você está adicionando

Criado 13 de junho de 2020
Ultima resposta 13 de jun. de 2020
Respostas 1
Participantes 2