> Hi,
> I have doubt that java passes arguments(for objects) by reference ?
>
> If yes then
> this pass by reference is equals to c++ reference.
>
> and tell wihch are all objects ? (Strings are objects ???)
>
> I have sample prog. which makes to confuse.
> please explain clearly
>
> ------------------------------------------------------------------
>
> class PassBy {
> public PassBy()
> {
> //Button
> Button b = new Button("Test");
> System.out.println("B4 calling fun label " + b.getLabel());
> fun(b);
> System.out.println("after calling fun label " + b.getLabel());
>
> // --------------------------------------
> // array
> String[] arr = new String[] {"Hi"};
> System.out.println("B4 calling fn, " + arr[0]);
> Call(arr);
> System.out.println("After calling fn, " + arr[0]);
>
> // --------------------------------------
>
> // String
> String str1 = "Ramesh";
> String str2 = "Babu";
> System.out.println("B4 calling fn,1 " + str1 + " 2-- " + str2);
> Swap(str1, str2);
> System.out.println("after calling fn,1 " + str1 + " 2-- " + str2);
>
> // i don't know
> Integer int1 = new Integer(444);
> Integer int2 = new Integer(666);
> System.out.println("B4 swapping 1---- " + int1 + " 2 --- " + int2);
> SwapInt(int1, int2);
> System.out.println("after swapping 1---- " + int1 + " 2 --- " +
> int2);
> }
>
> private void fun(Button c) {
>
> System.out.println("In fun, Label " + c.getLabel());
> c.setLabel("Hooooooo");
> System.out.println("In fun, after setting " + c.getLabel());
> }
>
> void Swap(String s1, String s2) {
>
> String temp = s1;
> s1 = s2;
> s2 = temp;
> System.out.println("In calling fn,1 " + s1 + " 2-- " + s2);
>
> }
>
> void Call(String[] local) {
>
> local[0] = "Bye";
> System.out.println("In fn " + local[0]);
>
> }
>
> void SwapInt(Integer int1, Integer int2) {
> Integer temp = int1;
> int1 = int2;
> int2 = temp;
> System.out.println("In fn, after swapping 1---- " + int1 + " 2 --- "
> + int2);
>
> }
>
> static public void main(String[] args) {
>
> new PassBy();
>
> }
>
> }