[ miljannet @ 18.03.2014. 10:31 ] @
Pitanje jedno, da vidim jesam li dobro shvatio.

Class Kutija
{
...
}

Kutija b1=new Kutija();
b2=b1;

Pitanje.

Objektu b2 se ne dodeljuju vrednosti iz objekta b1 ? Nego samo b2 nasledjuje referencu objketa b1 tj, objekat b2 sada ukazuje na klasu Kutija?
I ako budemo menjali objekat b1, objekat b2 se nece menjati ?

Class Kutija
{
double visina;
double duzina;
}

b2=b1

Ako napisemo da sada b1.visina=50; b1.duzina=60; Ovo nece nista promeniti objekat b2 ? Jel tako ?
[ jablan @ 18.03.2014. 10:59 ] @
Ne. b1 i b2 nisu objekti. b1 i b2 su promenljive koje ukazuju na jedan te isti objekat (klase Kutija).
[ casperns2 @ 18.03.2014. 14:33 ] @
Ja bih isto rekao da su b1 i b2 objekti , b1 novi objekat klase Kutija ... Mozes nam pomoci pa napisati sta je objekat klase Kutija i kako bi ga napravio ako ne kao Kutija b1= new Kutija(visina,duzina) ....

[ Shadowed @ 18.03.2014. 15:27 ] @
b1 i b2 su promenljive.
new Kutija(visina, sirina) pravi nov objekat kutije i vraca njegovu referencu (koju ti u ovom slucaju smestas u b1).
Kada posle kazes b2 = b1, ti kopiras referencu i smestas je u b2.
Sada i b1 i b2 sadrze referencu na objekat koji kreirao.
Napravljen je ukupno jedan objekat, dve promenljive i dve reference u tim promenljivim.
Objektima se nista ne dodeljuje, samo promenljivama.
[ Andrej013 @ 20.03.2014. 02:41 ] @
Citat:
miljannet:
Objektu b2 se ne dodeljuju vrednosti iz objekta b1 ? Nego samo b2 nasledjuje referencu objketa b1 tj, objekat b2 sada ukazuje na klasu Kutija?
I ako budemo menjali objekat b1, objekat b2 se nece menjati ?

Class Kutija
{
double visina;
double duzina;
}

b2=b1

Ako napisemo da sada b1.visina=50; b1.duzina=60; Ovo nece nista promeniti objekat b2 ? Jel tako ?

U sustini, iz odgovora drugih komentatora se moze zakljuciti da je odgovor na tvoje pitanje "ne", ali ne smeta ponoviti.
Dakle, obe promenjive(b1 i b2) pokazuju na isti objekat. Ako promenis b1, b2 se takodje menja i obrnuto.

Code:

b1=new Kutija(10,50);
b2=b1;
b1.setVisina(20);
System.out.println(b2.getVisina());//ispisace 20

b3=b1;
b2.setVisina(100);
System.out.println(b3.getVisina());//ispisace 100

b2=new Kutija(10,10);//sada b1 i b3 ukazuju na isti objekat(sa pocetka) a b2 na novi.
System.out.println(b2.getVisina());//ispisace 10
System.out.println(b3.getVisina());//ispisace 100

[ Shadowed @ 20.03.2014. 13:42 ] @
Citat:
Andrej013: Ako promenis b1, b2 se takodje menja i obrnuto.

Ne bas :)
Ako promenis b1, sa b2 se ne desava nista.
Ako promenis nesto na objektu cija je referenca u promenljivoj b1, ce se promeniti i u objektu cija je referenca u promenljivoj b2 (jer je to jedan te isti objekat).
[ miljannet @ 05.04.2014. 19:19 ] @
Nisam sad nista razumeo, ko je u pravu sada, moze li neko tacno da mi objasni, izvinite sto kasnim malo sa odgovorom, ali nisam mogao pre. :)
[ Andrej013 @ 07.04.2014. 04:26 ] @
Citat:
miljannet: Nisam sad nista razumeo, ko je u pravu sada, moze li neko tacno da mi objasni, izvinite sto kasnim malo sa odgovorom, ali nisam mogao pre. :)

Shadowed je u pravu jer sam se ja pogresno izrazio-trebalo je da kazem da ako promenis vrednost promenjive na objektu na koji b1 "pokazuje" i ocitas tu istu vrednost sa objekta na koji b2 pokazuje, videces tu novu promenjenu vrednost jer pokazuju na isti objekat... Ali to su vec gramaticke zavrzlame, ono sto je bitno da razumes je kod koji sam okacio uz moj odgovor koji objasnjava ovo o cemu pricamo.