Java Methods Interview MCQ Questions and Answers
1) A Java method is comparable to a __ in c language.
A) structure
B) union
C) function
D) enum
Answer [=]
C
2) All Java methods must have a return type. (TRUE / FALSE)
A) TRUE
B) FALSE
C) -
D) -
Answer [=]
A
3) State TRUE or FALSE. A Java method can have the same name as the class name.
A) TRUE
B) FALSE
C) -
D) -
Answer [=]
A
4) in Java, add a ___ to a constructor to convert it into a method.
A) if statement
B) static
C) return type
D) semicolon
Answer [=]
C
5) Java method signature is a combination of ___.
A) Return type
B) Method name
C) Argument List
D) All the above
Answer [=]
D
6) In Java, a method name can not start with a ___.
A) number
B) # (pound)
C) - (hyphen)
D) All the above
Answer [=]
D
7) In Java, a method name can start with ___.
A) Alphabet
B) Underscore (_)
C) Dollar ($)
D) All the above
Answer [=]
D
8) In Java, a method name can contain numbers from 2nd character onwards. (TRUE / FALSE).
A) TRUE
B) FALSE
C) -
D) -
Answer [=]
A
9) Choose the correct identifier for a method name in Java.
A) 1show
B) $hide
C) *show$
D) 3_click
Answer [=]
B
10) What is the output of the below Java program with an empty return statement?
public class TestingMethods2
{
void show()
{
System.out.println("SHOW Method..");
return;
}
public static void main(String[] args)
{
TestingMethods2 t2 = new TestingMethods2();
t2.show();
}
}
A) SHOW Method..
B) No output
C) Compiler error
D) None
Answer [=]
A
Explanation:
Yes. A void method can use an empty return statement.
11) What is the output of the below Java program with a void method?
public class TestingMethods3
{
void show2()
{
System.out.println("SHOW Method 2");
}
public static void main(String[] args)
{
TestingMethods3 t3 = new TestingMethods3();
t3.show2();
}
}
A) SHOW Method 2
B) No output
C) Compiler error
D) None
Answer [=]
A
Explanation:
The empty return statement is not necessary for a void method.
12) A "this" operator used inside a Java method refers to ___ variable.
A) Global variable
B) Method local variable
C) Instance variable
D) None
Answer [=]
C
13) What is the output of the below Java program with a "this" operator?
public class TestingMethods4
{
int cakes=5;
void order(int cakes)
{
this.cakes = cakes;
}
public static void main(String[] args)
{
TestingMethods4 t4 = new TestingMethods4();
t4.order(10);
System.out.println("CAKES=" + t4.cakes);
}
}
A) CAKES=5
B) CAKES=0
C) CAKES=10
D) Compiler error
Answer [=]
C
Explanation:
In the program, this.cakes refers to the instance variable cakes.
14) A local variable declared inside a method can not be used in expressions without initializing it first. (TRUE / FALSE).
A) TRUE
B) FALSE
C) -
D) -
Answer [=]
A
15) What is the output of the below Java program?
public class TestingMethods5
{
public static void main(String[] args)
{
int localVariable;
System.out.println(localVariable);
}
}
A) 0
B) garbage value
C) NullPointerException
D) Compiler error
Answer [=]
D
Explanation:
In the above program, the localVariable is a Local variable and it is not initialized. You can not use it in any expressions, not even printing.
16) In Java, local variables are stored in __ memory and instance variables are stored in ___ memory.
A) Stack, Stack
B) Heap, Heap
C) Stack, Heap
D) Heap, Stack
Answer [=]
C
17) A static-method or a static-variable is shared among all instances of a class. (TRUE / FALSE)
A) TRUE
B) FALSE
C) -
D) -
Answer [=]
A
Explanation:
Yes. a single copy of a static variable or method is common to all instance objects.
18) What is the output of the Java program with static variables?
public class TestingMethods6
{
static int cats=25;
public static void main(String[] args)
{
TestingMethods6 t6 = new TestingMethods6();
System.out.println("t6 BIRDS before=" + t6.cats);
TestingMethods6 t7 = new TestingMethods6();
t7.cats = 10;
System.out.println("t6 BIRDS after=" + t6.cats);
}
}
A)
t6 BIRDS before=25
t6 BIRDS after=25
B)
t6 BIRDS before=25
t6 BIRDS after=10
C)
t6 BIRDS before=25
t6 BIRDS after=0
D) None
Answer [=]
B
Explanation:
The static variable "cats" is common to all objects. There is no separate copy like non-static variables.
19) What is the output of the below Java program with a final local variable?
public class TestingMethods8
{
int cars = 20;
void change(final int cars)
{
cars = 10;
this.cars = cars;
}
public static void main(String[] args)
{
TestingMethods8 t8 = new TestingMethods8();
t8.change(30);
System.out.println(t8.cars);
}
}
A) 30
B) 20
C) 10
D) Compiler error
Answer [=]
D
Explanation:
The argument that is marked final can not be reassigned or changed. So, the compiler error is produced. So, the statement cars=10; inside the change() method is wrong.
20) Java does not allow nesting of methods. (TRUE / FALSE)
A) TRUE
B) FALSE
C) -
D) -
Answer [=]
A
21) What is the output of the below Java program?
class Road
{
static void show()
{
System.out.println("Inside static method.");
}
}
public class TestingMethods10
{
public static void main(String[] args)
{
Road.show();
}
}
A) Inside static method.
B) empty message
C) Compiler error
D) Runtime error / exception
Answer [=]
A
Explanation:
You can directly call static methods of a class with just a DOT operator and class-name.
22) What is the output of the below Java program?
class SomeClass
{
char batch = 'A';
}
public class TestingMethods11
{
public static void main(String[] args)
{
SomeClass a1 = new SomeClass();
System.out.println("Before: " + a1.batch);
SomeClass a2 = new SomeClass();
a2.batch = 'B';
System.out.println("After: " + a1.batch);
}
}
A)
Before: A
After: B
B)
Before: A
After: A
C)
Before: A
After:
D)
Before: B
After: B
Answer [=]
B
Explanation:
Instance variable "batch" is separate for each instance. So the changes to one instance object does not affect another instance object.