Ciao allora ho la seguente classe(che di per sè non ha molto,ma è a livello didattico):
poi da main:codice:class Vehicle{ private int velocità=100; private int gradi=90; private String nomeproprietario; private static int veicolosuccessivo=10; private int numerodiogniveicolo=5; Vehicle veicolo=null; Vehicle(){ } Vehicle(String nomeproprietario){ this.nomeproprietario=nomeproprietario; } public int getnumerodiogniveicolo(){ return numerodiogniveicolo; } public int getvelocità(){ return velocità; } public int getgradi(){ return gradi; } public int getveicolosuccessivo(){ return veicolosuccessivo; } public String getnomeproprietario(){ return nomeproprietario; } public void setveicolosuccessivo(int nuovoveicolo){ this.veicolosuccessivo=nuovoveicolo; } public void setnomeproprietario(String nuovonome){ this.nomeproprietario=nuovonome; } @Override public String toString(){ String s="il nome del proprietario è: "+nomeproprietario; if(veicolo!=null){ s+=" la macchina va a "+velocità+"\n"+veicolo.toString(); } return s; } }
Adesso il compilatore mi stampa:codice:class TestVeicolo{ public static void main(String[] args){ Vehicle v=new Vehicle(); Vehicle v1=new Vehicle("elena"); Vehicle v2=new Vehicle("fabio"); v2.veicolo=v1; v1.setnomeproprietario("davide"); System.out.println(v1.getnomeproprietario()); System.out.println(v); System.out.println(v1); System.out.println(v2); } }
il nome del proprietario è: null
il nome del proprietario è: davide
il nome del proprietario è: fabio la macchina va a 100
il nome del proprietario è: davide
Perchè??
non dovrebbe stamparmi :
davide
il nome del proprietario è: null
il nome del proprietario è: fabio la macchina va a 100
il nome del proprietario è: fabio
Poi perchè su v1.getnomeproprietario() il compilatore invoca direttamente il meto toString?![]()


Rispondi quotando
...sto andando in crisi sugli assegnamenti
; se ho:

