Java implementation of a call by value
Codeaft.java
class Codeaft
{
    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
codeaft@codeaft:~$ javac Codeaft.java
codeaft@codeaft:~$ java Codeaft 30 codeaft@codeaft:~$
Java implementation of a call by value by passing object as a value
Codeaft.java
class Codeaft
{
    int a=100,b=100;
    public void add(Codeaft c)
    {
        c.a=c.a+c.b+500;
    }
    public static void main(String args[])
    {
        Codeaft c=new Codeaft();
        c.a=c.a+c.b;
        System.out.println(c.a);
        c.add(c);
        System.out.println(c.a);
    }
}
Output
codeaft@codeaft:~$ javac Codeaft.java
codeaft@codeaft:~$ java Codeaft 200 800 codeaft@codeaft:~$
Comments and Reactions