DEVFYI - Developer Resource - FYI

Does Java pass by Value or reference?

Java Interview Questions and Answers (part 3)


(Continued from previous question...)

425. Does Java pass by Value or reference?

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();
	}
}

(Continued on next question...)

Other Interview Questions