Citat:
Imam za tebe jedno pitanje, cisto da vidim kako ti poimas ovo sto si rekao.
Kako to da Vanjin primer u jednom slucaju menja vrednost zaklininih tits (originalni Vanjin primer) a u drugom (mala izmena koju sam nacinio) ne? Sta bi ti rekao, da li je promenljiva prosledjena BY REFERENCE ili BY VALUE ? Pazi potpis funkcije u oba slucaja je isti, izmenjeno je samo telo funkcije!
Originalni Vanjin primer:
Code:
Code:
public class Female {
private int titsSize;
public Female(int titsSize) {
setTitsSize(titsSize);
}
public int getTitsSize() {
return titsSize;
}
public void setTitsSize(int titsSize) {
this.titsSize = titsSize;
}
public String toString() {
return "Size of my tits: " + getTitsSize();
}
public static void main(String[] args) {
Female zaklina = new Female(2);
System.out.println(zaklina);
doubleTits(zaklina);
System.out.println(zaklina);
}
private static void doubleTits(Female f) {
f.setTitsSize(2 * f.getTitsSize());
}
}
Code:
public class Female {
private int titsSize;
public Female(int titsSize) {
setTitsSize(titsSize);
}
public int getTitsSize() {
return titsSize;
}
public void setTitsSize(int titsSize) {
this.titsSize = titsSize;
}
public String toString() {
return "Size of my tits: " + getTitsSize();
}
public static void main(String[] args) {
Female zaklina = new Female(2);
System.out.println(zaklina);
doubleTits(zaklina);
System.out.println(zaklina);
}
private static void doubleTits(Female f) {
f.setTitsSize(2 * f.getTitsSize());
}
}
moja izmena:
Code:
private static void doubleTits(Female f) {
f = new Female(120);
}
private static void doubleTits(Female f) {
f = new Female(120);
}