Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di Angelo1974
    Registrato dal
    Feb 2003
    Messaggi
    1,107

    [ JAVA ]visibilità variabili

    Salve a tutti!
    Una informazione... oggi mi è capitata una cosa stranissima e volevo chiedere a voi. Ad un colloquio tra le varie domande c'era una domanda sulla visibilità delle variabili in Java in classe che estende una superclasse; la cosa particolare è che la domanda diceva ... la classe figlia può accedere a tutte le variabili della superclasse che siano di tipo public, protected o package; allora si è entrati a discutere della visibilità delle variabili. Allora dovunque io abbia letto i fondamenti di Java ho letto ( correggetemi se sbaglio ) che la visibilità di una variabile o un metodo si ferma nel package se esso ( var o metodo ) è di tipo protected Il mio esaminatore, invece, sosteneva e sostiene che la visibilità della var o del metodo nel package è indicata dall'attributo package e cioè si dovrebbe fare una cosa del tipo:

    package String pippo =......
    In questo modo la variabile pippo è visibile solo nel package in cui c'è la classe contenete pippo; invece protected serve per le classi figlie e cioè:

    protected String topolino = .....

    serve a fare in modo che le classi figlie della suerclasse contente topolino possano accedere a topolino. Ma secondo me è errato! O sbaglio?
    Da quanto ne so ( è probabile pure che ne sappia poco ) è proprio protected che fa in modo tale da rendere la variabile o il metodo "confinati" nel package... oppure no? Tra l'altro ho provato a creare una classe così:

    public class VariabilePackage {

    package int pippo = 0;
    public VariabilePackage() {
    }

    }


    ed ovviamente ho un errore. Qualcuno può delucidarmi? Esiste un altro "operatore di visibilità"( chiamiamoli così perchè il termine esatto mi sfugge ) oltre a:

    default( caso in cui davanti al metodo o alla variabile non c'è nulla ), public, protected e private ?

    Grazie a tutti e scusate la lunghezza del messaggio, ma questa cosa mi ha colpito davvero molto... e spaeriamo mi prendano a lavorare lì!

    Ciao
    Se vuoi trovare l'arcobaleno, devi sopportare la pioggia

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304

    Non che io sappia...

    Che io sappia non esistono altri modificatori di tipo oltre a quelli da te elencati. package è una reserved word che ha tutt'altro scopo. Il compilatore, infatti, come hai detto giustamente tu, si rifiuta di compilare una cosa come quella ritornando un "Illegal start of expression".

    In definitiva: per quel che ne so, hai ragione tu!


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    io concordo con te angelo


    il mio prof mi ha fatto una testa pazzesca sui protected
    se e' protected solo quella classe puo leggere quella variabile



    in bocca al lupo angelo


    in un aiuola di rose anche un cardo fa la sua bella figura

  4. #4
    package come dice Lele serve ad altro scopo. Per quanto riguarda la visibilità delle variabili c'è:

    - public permette l'accesso alla variabile anche da parte di altre classi;

    - private permette l'accesso a quella variabile esclusivamente da parte della classe di appartenenza;

    - protected permette l'accesso alla variabile alla classe di appartenenza e alle classi derivate. Cioè se estendo una classe, la classe figlia avrà la possibilità di accedere direttamente alla variabile protected della superclasse.

  5. #5
    Utente di HTML.it L'avatar di Angelo1974
    Registrato dal
    Feb 2003
    Messaggi
    1,107
    Grazie a tutti delle pronte risposte... sapete com'è... a volte sentire delle cose di tal tipo ti fa pensare "Ca..o allora non ho capito nulla." Invece mi confermato che qualchecosina allora l'ho capita. Grazie di cuore e ciao
    Se vuoi trovare l'arcobaleno, devi sopportare la pioggia

  6. #6
    Utente di HTML.it L'avatar di Angelo1974
    Registrato dal
    Feb 2003
    Messaggi
    1,107
    Sì infatti. Ciao
    Se vuoi trovare l'arcobaleno, devi sopportare la pioggia

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.