Visualizzazione dei risultati da 1 a 8 su 8

Discussione: Variabili locali

  1. #1

    Variabili locali

    In NetBeans dichiaro una variabile locale anteponendo il modificatore di accesso "private"
    Es:
    public void nomeMetodo(){
    private int campoInt = 0;
    }

    ....
    Compilo, ma viene visualizzato l'errore che dice "illegal start of expression.
    Questo errore sta ad indicare che le variabili locali non possono essere dichiarate con modificatori di accesso?
    Grazie.

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    bastava leggere qualsiasi libro per sapere che per una variabile locale non ha senso l'associazione con un modificatore di visibilità visto che il suo scope termina assieme al metodo.
    I modificatori di accesso vengono usati per le variabili di istanza, per regolare l'accesso ai dati e/o ai metodi, tutto ciò che è definito dentro delle parentesi graffe rientra in uno scope locale, termina di esistere dopo la graffa ed è accessibile da chiunque qualsiasi sotto blocco dentro il metodo.
    Se una variabile locale ha lo stesso nome di una di istanza, viene letta la variabile locale e il compilatore dovrebbe darti un warning.
    RTFM Read That F*** Manual!!!

  3. #3
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da salvof75 Visualizza il messaggio
    Questo errore sta ad indicare che le variabili locali non possono essere dichiarate con modificatori di accesso?
    Le variabili locali non possono avere modificatori di "accesso". Anzi, non possono avere alcun modificatore, eccetto final. Possono anche avere eventualmente delle annotazioni (anche se è rarissimo vederle applicate a variabili locali).

    Quote Originariamente inviata da valia Visualizza il messaggio
    Se una variabile locale ha lo stesso nome di una di istanza, viene letta la variabile locale e il compilatore dovrebbe darti un warning.
    Al massimo un IDE "pignolo" può certamente dare un warning. Ma comunque per il linguaggio Java non è né un warning né un errore. È un caso di shadowing, che perlomeno per metodi setter e costruttori è anche sfruttato tipicamente.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    Quote Originariamente inviata da andbin Visualizza il messaggio
    Al massimo un IDE "pignolo" può certamente dare un warning. Ma comunque per il linguaggio Java non è né un warning né un errore. È un caso di shadowing, che perlomeno per metodi setter e costruttori è anche sfruttato tipicamente.
    allora avrò alzato io la verbosità dei messaggi al max, perché lanciando da command line mi vedo sta sfilza di warning
    RTFM Read That F*** Manual!!!

  5. #5
    Grazie per la risposta!

  6. #6
    Grazie per la risposta.

  7. #7
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da valia Visualizza il messaggio
    allora avrò alzato io la verbosità dei messaggi al max, perché lanciando da command line mi vedo sta sfilza di warning
    Scusa ma stai compilando con cosa e come? Usando javac (JDK8) direttamente nemmeno mettendo -Xlint:all mi segnala alcun warning legato ad uno shadowing!
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  8. #8
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    era una roba che avevo fatto un po' di tempo fa e che poi ho disabilitato spet che ricontrollo

    edit
    ricontrollato, hai ragione te è una verbosità assurda dell'IDE
    Ultima modifica di valia; 22-09-2014 a 10:20
    RTFM Read That F*** Manual!!!

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.