Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    [JAVA] Utilizzo del 'this'

    ciao a tutti,
    ho il seguente scheletro di una classe java:
    codice:
    import package.Esempio2;
    
    public class Esempio{
    
    [.....]
    
    Esempio2.insert(this);
    
    
    }
    Cioè invoco la funzione 'insert' presente in 'Esempio2' su un oggetto di tipo 'Esempio'


    Adesso avrei la necessità di modificare la funzione "insert(this)" con due parametri. Uno sempre di tipo Esempio e l'altro di tipo int.
    Volevo sapere se potevo modificare il codice sopra così:

    codice:
    import package.Esempio2;
    
    public class Esempio{
    
    [.....]
    
    Esempio2.insert(Esempio e, int i);
    
    
    }
    In altre parole posso passare come parametro un oggetto di tipo 'Esempio' all'interno della classe 'Esempio' senza l'utilizzo del 'this'?
    Avrei risolto anche in altro modo ma in modo un pò barocco. Se potessi farlo in questo modo sarebbe meglio
    Grazie

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: [JAVA] Utilizzo del 'this'

    Originariamente inviato da ioememedesimo
    In altre parole posso passare come parametro un oggetto di tipo 'Esempio' all'interno della classe 'Esempio' senza l'utilizzo del 'this'?
    La questione è che non chiaro cosa devi fare e perché. Quindi prima di continuare dovresti precisare meglio quale è il tuo obiettivo.

    Comunque se un metodo ha un parametro di tipo Esempio, è ovvio che devi passare un reference ad un oggetto di tipo Esempio (o sottoclasse). Dentro la classe Esempio, in un metodo di istanza, il 'this' è appunto un reference ad un oggetto di tipo Esempio (quello su cui è stato invocato il metodo corrente). Ma anche se istanziassi un altro oggetto di tipo Esempio avresti il reference ..... quindi la questione è solo capire cosa devi fare e perché.

    Se non specifichi meglio, io personalmente non saprei cosa dire (e forse nemmeno altri).
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3

    Re: Re: [JAVA] Utilizzo del 'this'

    Originariamente inviato da andbin
    La questione è che non chiaro cosa devi fare e perché. Quindi prima di continuare dovresti precisare meglio quale è il tuo obiettivo.
    Grazie per la risposta.
    La mia domanda è indipendente dalla funzionalità del metodo insert().
    Quello che chiedo è: ho un metodo in una classe 'Esempio2' e lo richiamo in un'altra classe "Esempio", in più il metodo ha necessità di prendere come parametro un oggetto di tipo 'Esempio'. Posso definire un oggetto 'Esempio' nella classe 'Esempio'?

    codice:
    import package.Esempio2;
    
    public class Esempio{
    
    //...
    
    Esempio2.insert(Esempio e, int i);
    
    //...
    
    }
    Questa porzione di codice è formalmente corretta? Indipendentemente dalle funzionalità del metodo.

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Re: Re: [JAVA] Utilizzo del 'this'

    Originariamente inviato da ioememedesimo
    codice:
    Esempio2.insert(Esempio e, int i);
    Questa porzione di codice è formalmente corretta?
    No, non è una dichiarazione di un metodo .... è una invocazione. Quindi devi passare un reference ad Esempio ed un valore intero.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5

    Re: Re: Re: Re: [JAVA] Utilizzo del 'this'

    Originariamente inviato da andbin
    No, non è una dichiarazione di un metodo .... è una invocazione. Quindi devi passare un reference ad Esempio ed un valore intero.
    Guarda, considera che io abbia le seguenti due classi:
    codice:
    package DAO;
    import domain.Esempio;
    
    public class Esempio2{
    
    public void insert(Esempio f, int r){.........}
    
    }

    codice:
    package domain;
    import DAO.Esempio2;
    
    public class Esempio{
    
    
    Esempio2.insert(Esempio e, int i);
    
    
    }
    Poi quando mi servirà il metodo insert() importerò il package domain e:

    insert(esempio, 10);


    Il mio dubbio è nella classe Esempio; è corretto avere un oggetto 'Esempio' in una classe 'Esempio'? (grassetto)

  6. #6
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Re: Re: Re: Re: [JAVA] Utilizzo del 'this'

    Originariamente inviato da ioememedesimo
    codice:
    public void insert(Esempio f, int r){.........}
    Questa è una dichiarazione corretta di un metodo. Ha un tipo di ritorno, hai dei parametri correttamente dichiarati e ha un corpo { }.

    Originariamente inviato da ioememedesimo
    codice:
    Esempio2.insert(Esempio e, int i);
    Con questo non so/capisco cosa vuoi fare .... non è nulla e non è corretto.
    Non è una invocazione (non stai passando nulla e comunque non si passa es. int qualcosa), non sarebbe nemmeno una dichiarazione (manca il tipo di ritorno, c'è quel Esempio2. e comunque non ha corpo).

    Esempio2.insert(Esempio e, int i);

    Ripeto: questo dal punto di vista di Java non vuol dire nulla ....

    Quindi? Continuiamo con gli indovinelli??? Cosa vuoi fare?
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  7. #7

    Re: Re: Re: Re: Re: Re: [JAVA] Utilizzo del 'this'

    Originariamente inviato da andbin
    Quindi? Continuiamo con gli indovinelli??? Cosa vuoi fare?
    Con l'unico post iniziale ho risolto brevemente altrove.
    Grazie comunque.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.