Radim primer iz knjige gde se objekat vraca kao rezultat metode. Ne znam da li sam dobro razumeo sta se ovde desava pa nisam negde u pravu da me ispravite.
Code:
class Test
{
int a;
Test(int i) // Konstruktor
{
a = i;
}
Test uvecajZaDeset()
{
Test privremeni = new Test(a+10);
return privremeni;
}
}
public class VratiObjekat
{
public static void main(String[] args)
{
Test ob1 = new Test(2);
Test ob2;
ob2 = ob1.uvecajZaDeset();
System.out.println("ob1.a: "+ob1.a);
System.out.println("ob2.a: "+ob2.a);
ob2 = ob2.uvecajZaDeset();
System.out.println("ob2.a posle drugog povecanja: "+ob2.a);
}
}
class Test
{
int a;
Test(int i) // Konstruktor
{
a = i;
}
Test uvecajZaDeset()
{
Test privremeni = new Test(a+10);
return privremeni;
}
}
public class VratiObjekat
{
public static void main(String[] args)
{
Test ob1 = new Test(2);
Test ob2;
ob2 = ob1.uvecajZaDeset();
System.out.println("ob1.a: "+ob1.a);
System.out.println("ob2.a: "+ob2.a);
ob2 = ob2.uvecajZaDeset();
System.out.println("ob2.a posle drugog povecanja: "+ob2.a);
}
}
1. Test ob2; = Kada uradimo ovaj deo, mi dodeljujemo objektu ob2 referencu. Kada bi u ovom trenutno pokusali da preko objekta ob2 pristupimo klasi Test ne bi smo mogli jer mi jos nismo kreirali pravi objekat, samo smo mu dali referencu ?
2. ob2 = ob1.uvecajZaDeset(); Sada objektu ob2 se dodeljuje reference iz objekta ob1 ? Pa kada se pozove metoda uvecajZaDeset(); Stvara se novi objekat privremeni a objektu ob2 se vraca referenca od tog objekta privremeni ?
Ovo je onako kako sam ja shvatio. Jos imam malo problema sa delom gde se reference prosledjuje po vrednosti pa verovatno i to ima malo uticaju na ovu lekciju.
Ako bi ste mogli da mi date jos neki primer kako bi lakse razumeo gde se objekat vraca kao rezultat metoda bio bih vam zahvalan. Na netu bas nisam nasao puno primera u vezi ovog dela.