Lezione di Java 13 – Il riferimento this

Indice Lezione PrecedenteLezione Successiva


Il riferimento this in Java viene utilizzato per fare riferimento, all’interno di un metodo o di un costruttore, agli attributi o metodi locali. Questo tipo di riferimento non fa altro che puntare all’oggetto a cui appartiene risolvendo possibili problemi di ambiguità. Vediamo subito un esempio:

public class Persona {
  private String nome;
  public void setNome(String nome_pers){
    nome=nome_pers;
  }
}

In questo caso non possiamo chiamare il parametro di setNome con “nome” perchè già c’è la variabile di istanza nome, invece con il riferimento this potremo scrivere:

public class Persona {
  private String nome;
  public void setNome(String nome){
    this.nome=nome;
  }
}


L’uso fondamentale del riferimenti this è con gli oggetti in quanto viene utilizzato quando si vuole fare riferimento al proprio oggetto di appartenenza. Vediamo un uso esclusivo ci questo riferimento con i costruttori:

public class Persona {
  private String nome;
  private String cognome;
  public Persona() {
    System.out.println("Sono il costruttore di default.");
  }
  public Persona(String nome) {
    this(); // Chiama il costruttore senza parametri
    this.nome=nome;
  }
  public Persona(String nome, String cognome) {
    this(nome); // Chiama il costruttore con un parametro
    this.cognome=cognome;
  }
}

Avendo il seguente codice:

new Persona("Giustino", "Verdicchio");

verrà chiamato il costruttore con due parametri in ingresso, il quale a sua volta chiamerà il costruttore con un solo parametro, che infine chiamerà il costruttore senza parametri e stamperà:

Sono il costruttore di default.

Quando viene utilizzato il riferimento this(…), questo deve trovarsi sempre come prima linea all’interno di un metodo. Nella prossima lezione tratteremo il concetto di casting in Java.

Ti piace l’articolo?
Diventa fan su Facebook
Indice Lezione PrecedenteLezione Successiva
Pubblicato in Guide, Guide, Java, Programmazione Taggato con: ,
4 comments on “Lezione di Java 13 – Il riferimento this
  1. Emanuele scrive:

    La miglior descrizione più semplice e significativa che ho trovato in rete! 🙂

  2. Davide scrive:

    Avrei una domanda, ho questo codice di un override:

    @Override
    public boolean equals(Object obj) {
    if (this == obj)
    return true;
    if (obj == null)
    return false;
    if (getClass() != obj.getClass())
    return false;

    Animale other = (Animale) obj;

    if (nome == null) {
    if (other.nome != null)
    return false;
    } else if (!nome.equals(other.nome))
    return false;
    return true;
    }

    Non riesco a capire il senso del this e di other e perchè in:
    Animale other = (Animale) obj;
    Animale è tra parentesi??

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

*