Come suggerito, ho modificato in modo tale che le variabili dell'oggetto, possano essere modificate unicamente utilizando dei metodi.
Ho però un dubbio, volevo una conferma ...
public class PersonaStatic {
//STATO INTERNO:
private int id;
private static int ID_CORRENTE;
String nome, cognome;
//COSTRUTTORE:
public PersonaStatic(String nome, String cognome) {
this.setNome(nome);
this.setCognome(cognome);
ID_CORRENTE++; //Incrementa il numero dell'id per ogni oggetto PersonaStatic creato ...
id = ID_CORRENTE; // ... così sarà un numero unico per ciascun id, dei singoli oggetti persona creati.
}
//NOTA: anzichè accedere direttamente alle variabili(cosa impossibile perchè private), accedo ai metodi che mi consentono di leggerle
//METODI in lettura:
public static int getIdCreate(){
return ID_CORRENTE;
}
public int getId(){
return id;
}
//METODI in scrittura:
public void setNome(String nome){
this.nome = nome;
}
public void setCognome(String cognome){
this.cognome= cognome;
}
}
Mentre invece nel main rimane tutto uguale ...
public class StaticMain {
public static void main(String[] args) {
PersonaStatic lui = new PersonaStatic("Pippo", "Baudo");
PersonaStatic lei = new PersonaStatic("Maria", "Callas");
PersonaStatic io = new PersonaStatic("Lucas", "Titis");
PersonaStatic tu = new PersonaStatic("Peppino", "Di Capri");
System.out.println("Numero oggetti PersonaStatic creati: " + PersonaStatic.getIdCreate());
System.out.println(io.nome + " " + io.cognome + ", id: " + io.getId());
}
}
DOMANDA: nel costruttore dell'oggetto, con .... public PersonaStatic(String nome, String cognome) ... il compilatore si aspetta l'ingresso di due parametri(sono formali o cosa?), questi due paramentri a loro volta vengono utilizzati per costruire l'oggetto con ad esempio ... this.setNome(nome); ... il che equivale a dire ... i parametri necesari per costruire l'oggetto, li prendi dal metodo in scrittura ...(as es. public void setNome(String nome) ...).
***** DATO CHE MI SONO INGARBUGLIATO E MI SONO CONFUSO DA SOLO ... potresti dirmi, se quel che ho fatto è corretto, e se equivale a quello che ho descritto(sempre se, mi son riuscito a spiegare ...
GRAZIEEEEEEEEEEEE