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

    [java] comportamento protected = public

    Salve a tutti

    Non riesco a capire perche delle variabili dichiarate protected sono visibili e quindi si possono anche modificare, in un'altra classe

    esempio (capacity è la variabile in questione)


    public class primo {
    protected int capacity;

    public primo (int dim)
    {
    capacity =dim;
    }
    }

    public class Test {
    public static void main(String[] args) {
    primo s = new primo (10);

    s.capacity = 90;
    }
    }

    perchè mi permette di modificare capacity?
    Agos

  2. #2

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

    Re: [java] comportamento protected = public

    Originariamente inviato da agostinomiranda
    Non riesco a capire perche delle variabili dichiarate protected sono visibili e quindi si possono anche modificare, in un'altra classe
    Un membro con livello di accesso 'protected' è visibile:
    • Dalla stessa classe
    • Da qualunque classe nello stesso package
    • Da qualunque sotto-classe nello stesso package
    • Da qualunque sotto-classe in un diverso package, ma solo tramite ereditarietà.

    L'ultimo punto è quello che differenzia 'protected' dal livello di 'default'.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  4. #4
    capito, grazie

    quindi le classi test devono essere implementate in pakage diversi?
    Agos

  5. #5
    tendenzialmente sì, è meglio tenerle in un package di test (diviso poi nei singoli package).. è buona pratica creare una sorta di main test, speculare al main package vero e proprio della tua applicazione.. così da sapere dove mettere le cose e dove poi cercarle

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.