mariojav ha scritto:
I membri protected EREDITATI diventano poi privati a quelle classi, così che altre classi che si trovano nello stesso package non potranno acccedervi.
Non è che diventano "privati". Sono appunto, come dicevo prima, visibili alla sotto classe solo per l'effetto particolare della ereditarietà. Ma non diventano privati ... una ulteriore sotto classe in un altro package ancora può continuare a vedere il membro, sempre per lo stesso effetto.
Una classe A nel package x ha un
protected int val;
Una classe B nel package y che estende A PUÒ accedere a val.
Una classe B2 nel package y (che non è in relazione con A o con B) NON può accedere a val, neanche avendo un reference della classe A e nemmeno avendo un reference di B.
Una classe C nel package z che estende B PUÒ accedere a val (quel val di A).
P.S. le classi che ho citato intendiamole "public" per semplicità.