Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2005
    Messaggi
    46

    [JAVA]Cosa fa esattamente???

    public class StackAr implements Stack
    { private Object[] v;
    private int sp;
    private static final int MAX = 10;
    public StackAr () { this(MAX); } <------------
    public StackAr (int max)
    { sp = 0; // per memoria
    v = new Object[max];
    }
    .................
    }


    Ciao a tutti...leggendo questo programma ho trovato una cosa nuova che nn avevo mai trovato anke se intuisco che nn deve essere difficile...Il costruttore che ho indicato cosa fa esattamente??cioè nn capisco se inizializza delle variabili d'istanza e soprattutto quali delle due....

    Spero che qualcuno mi sappia aiutare!!


  2. #2
    Se ti riferisci a questo:
    codice:
    public StackAr () { this(MAX); }
    è semplicemente la chiamata di un costruttore da un'altro costruttore. Un costruttore non è un metodo come gli altri quindi si usa questa sintassi per richiamarlo, inoltre c'è il vincolo che la chiamata al costruttore deve essere la prima istruzione, infatti se aggiungi una qualunque istruzione prima di this(MAX); ti da un errore in compilazione.
    Il centro dell'attenzione non è sempre un buon posto in cui trovarsi

    Mai discutere con uno stupido, la gente potrebbe non capire la differenza. (O. W.)

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2005
    Messaggi
    46
    Si mi riferisco a quello....però non capisco cosa fa...

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2005
    Messaggi
    46
    Spè forse ho capito...ci provo:

    praticamente dovrebbe chiamare l'altro costruttore che ha come parametro un intero...

    Giusto?

  5. #5
    Utente di HTML.it L'avatar di byaur
    Registrato dal
    Aug 2004
    Messaggi
    1,061
    Originariamente inviato da Realman
    Si mi riferisco a quello....però non capisco cosa fa...
    (non per te, ci mancherebbe, è che mi fa male la testa...!!!)
    richiama se stesso(cioè il costruttore della classe StackAR) facendo però un overriding di metodi, cioè il compilatore java interpreta la chiamata this(MAX) come una chiamata al metodo che ha come parametro un tipo int cioè

    codice:
    StackAR(int)

    Chi di noi non vorrebbe
    sollevare il velo sotto cui sta nascosto il
    futuro...
    David Hilbert

  6. #6
    Originariamente inviato da Realman
    Spè forse ho capito...ci provo:

    praticamente dovrebbe chiamare l'altro costruttore che ha come parametro un intero...

    Giusto?
    Esatto!
    Il centro dell'attenzione non è sempre un buon posto in cui trovarsi

    Mai discutere con uno stupido, la gente potrebbe non capire la differenza. (O. W.)

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 © 2024 vBulletin Solutions, Inc. All rights reserved.