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)
    {
        g.a=g.a+g.b+500;
    }
    public static void main(String args[])
    {
        GD g=new GD();
        g.a=g.a+g.b;
        System.out.println(g.a);
        g.add(g);
        System.out.println(g.a);
    }
}
Output
godarda@gd:~$ javac GD.java
godarda@gd:~$ java GD 200 800 godarda@gd:~$
Comments and Reactions