Java implementation of a call by value
GD.java
class GD
{
    public static int add(int a,int b)
    {
        a=100;
        b=100;
        int c=a+b;
        return c;
    }
    public static void main(String args[])
    {
        int a=20,b=10,c;
        c=a+b;
        add(a,b);
        System.out.println(a+b);
    }
}
Output
godarda@gd:~$ javac GD.java
godarda@gd:~$ java GD 30 godarda@gd:~$
Java implementation of a call by value by passing object as a value
GD.java
class GD
{
    int a=100,b=100;
    public void add(GD g)
    {
        k.a=k.a+k.b+500;
    }
    public static void main(String args[])
    {
        GD g=new GD();
        k.a=k.a+k.b;
        System.out.println(k.a);
        k.add(c);
        System.out.println(k.a);
    }
}
Output
godarda@gd:~$ javac GD.java
godarda@gd:~$ java GD 200 800 godarda@gd:~$
Comments and Reactions