Java Interview Questions and Answers
Is Empty .java file a valid source file?
Yes, an empty .java file is a perfectly valid source file.
Can a .java file contain more than one java classes?
Yes, a .java file contain more than one java classes, provided at the
most one of them is a public class.
Is String a primitive data type in Java?
No String is not a primitive data type in Java, even though it is one of
the most extensively used object. Strings in Java are instances of
String class defined in java.lang package.
Is main a keyword in Java?
No, main is not a keyword in Java.
Is next a keyword in Java?
No, next is not a keyword.
Is delete a keyword in Java?
No, delete is not a keyword in Java. Java does not make use of explicit
destructors the way C++ does.
Is exit a keyword in Java?
No. To exit a program explicitly you use exit method in System object.
What happens if you don't initialize an instance variable of any of the
primitive types in Java?
Java by default initializes it to the default value for that primitive
type. Thus an int will be initialized to 0, a Boolean will be
initialized to false.
What will be the initial value of an object reference which is defined
as an instance variable?
The object references are all initialized to null in Java. However in
order to do anything useful with these references, you must set them to
a valid object, else you will get NullPointerException everywhere you
try to use such default initialized references.
What are the different scopes for Java variables?
The scope of a Java variable is determined by the context in which the
variable is declared. Thus a java variable can have one of the three
scopes at any given point in time.
1. Instance : - These are typical object level variables, they are
initialized to default values at the time of creation of object, and
remain accessible as long as the object accessible.
2. Local : - These are the variables that are defined within a method.
They remain accessible only during the course of method execution. When
the method finishes execution, these variables fall out of scope.
3. Static: - These are the class level variables. They are initialized
when the class is loaded in JVM for the first time and remain there as
long as the class remains loaded. They are not tied to any particular
What is the default value of the local variables?
The local variables are not initialized to any default value, neither
primitives nor object references. If you try to use these variables
without initializing them explicitly, the java compiler will not compile
the code. It will complain about the local variable not being
How many objects are created in the following piece of code? MyClass c1,
c1 = new MyClass ();
c3 = new MyClass ();
Only 2 objects are created, c1 and c3. The reference c2 is only declared
and not initialized.
Can a public class MyClass be defined in a source file named
No the source file name, if it contains a public class, must be the same
as the public class name itself with a .java extension.
Can main method be declared final?
Yes, the main method can be declared final, in addition to being public
What will be the output of the following statement?
System.out.println ("1" + 3);
It will print 13.
What will be the default values of all the elements of an array defined
as an instance variable?
If the array is an array of primitive types, then all the elements of
the array will be initialized to the default value corresponding to that
primitive type. e.g. All the elements of an array of int will be
initialized to 0, while that of Boolean type will be initialized to
false. Whereas if the array is an array of references (of any type), all
the elements will be initialized to null.
Page Numbers :