Scusate ma credo di aver fatto confusione con modificatore public.
Esso è visibile a tutte le classi del package.
Non è una buona idea dichiarare una variabile public perchè può essere modificata da chiunque nel package.
Considerando la classe cane
package modprivate;
public class Cane {
public String nome;
public int anni;
}
La classe gatto
package modprivate;
/**
*
* @author Ang
*/
public class Gatto {
}
Nel main ho creato un oggetto cane e un oggetto gatto.
ackage modprivate;
/**
*
* @author Ang
*/
public class ModPrivate {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
Cane c=new Cane();
c.nome="rex";
c.anni=12;
Gatto g=new Gatto();
g.nome="fufi";
}
}
Perchè non riesco a modificare l'attributo nome. E' nella classe cane ma è public. Perchè l'oggetto di classe gatto non vi ha accesso?
Credo di aver frainteso il significato di public...