Does Java pass by Value or reference?

Q

Does Java pass by Value or reference?

✍: Guest

A

Its uses Reference while manipulating objects but pass by value when sending method arguments. Those who feel why I added this simple question in this section while claiming to be maintaining only strong and interesting questions, go ahead and answer following questions.

a)What is the out put of:

import java.util.*;

class TestCallByRefWithObject 
{
	ArrayList list = new ArrayList(5);
	

	public void remove(int index){
		list.remove(index);
	}

	public void add(Object obj){
		list.add(obj);
	}

	public void display(){
		System.out.println(list);
	}
	
	public static void main(String[] args) 
	{
TestCallByRefWithObject test = new TestCallByRefWithObject();
	
		test.add("1");
		test.add("2");
		test.add("3");
		test.add("4");
		test.add("5");

		test.remove(4);
		test.display();
	}
}
		
b) And now what is the output of:


import java.util.*;

class TestCallByRefWithInt
{
	int i = 5;
	

	public void decrement(int i){
		i--;
	}

	public void increment(int i){
		i++;
	}

	public void display(){
System.out.println("\nValue of i is : " +i);
	}
	
	public static void main(String[] args) 
	{
TestCallByRefWithInt test = new TestCallByRefWithInt();
	
		test.increment(test.i);

		test.display();
	}
}

2013-03-20, 1946👍, 0💬