JAVA CORE
INTERVIEW QUESTIONS
& ANSWERS
1|Page
,1) what are static blocks and static initializers in Java ?
Static blocks or static initializers are used to initialize static fields in java. we declare static blocks when we
want to intialize static fields in our class. Static blocks gets executed exactly once when the class is loaded
. Static blocks are executed even before the constructors are executed.
2) How to call one constructor from the other constructor ?
With in the same class if we want to call one constructor from other we use this() method. Based on the
number of parameters we pass appropriate this() method is called.
Restrictions for using this method :
1) this must be the first statement in the constructor
2)we cannot use two this() methods in the constructor
3) What is method overriding in java ?
If we have methods with same signature (same name, same signature, same return type) in super class
and subclass then we say
subclass method is overridden by superclass.
When to use overriding in java
If we want same method with different behaviour in superclass and subclass then we go for overriding.
When we call overridden method with subclass reference subclass method is called hiding the superclass
method.
4) What is super keyword in java ?
Variables and methods of super class can be overridden in subclass . In case of overriding , a subclass
object call its own variables and methods. Subclass cannot access the variables and methods of
superclass because the overridden variables or methods hides the methods and variables of super class.
But still java provides a way to access super class members even if its members are overridden. Super is
used to access superclass variables, methods, constructors.
Super can be used in two forms :
1) First form is for calling super class constructor.
2) Second one is to call super class variables,methods.
Super if present must be the first statement.
5) Difference between method overloading and method overriding in java ?
Method Overloading Method Overriding
1) Method Overloading occurs with in the same Method Overriding occurs between
class two classes superclass and subclass
2) Since it involves with only one class inheritance Since method overriding occurs between superclass
is not involved. and subclass inheritance is involved.
3)In overloading return type need not be the same 3) In overriding return type must be same.
4) Parameters must be different when we do 4) Parameters must be same.
overloading
5) Static polymorphism can be acheived using 5) Dynamic polymorphism can be acheived using
method overloading method overriding.
6) In overloading one method can’t hide the 6) In overriding subclass method hides that of the
another superclass method.
2|Page
,6) Difference between abstract class and interface ?
Interface Abstract Class
1) Interface contains only abstract methods 1) Abstract class can contain abstract methods,
concrete methods or both
2) Access Specifiers for methods in interface 2) Except private we can have any access
must be public specifier for methods in abstract class.
3) Variables defined must be public , static , 3) Except private variables can have any access
final specifiers
4) Multiple Inheritance in java is implemented 4)We cannot achieve multiple inheritance using
using interface abstract class.
5) To implement an interface we use 5)To implement an interface we use implements
implements keyword keyword
7) Why java is platform independent?
The most unique feature of java is platform independent. In any programming language soruce code is
compiled in to executable code . This cannot be run across all platforms. When javac compiles a java
program it generates an executable file called .class file.
class file contains byte codes. Byte codes are interpreted only by JVM’s . Since these JVM’s are made
available across all platforms by Sun Microsystems, we can execute this byte code in any platform. Byte
code generated in windows environment can also be executed in linux environment. This makes java
platform independent.
8) What is method overloading in java ?
A class having two or more methods with same name but with different arguments then we say that those
methods are overloaded. Static polymorphism is achieved in java using method overloading.
Method overloading is used when we want the methods to perform similar tasks but with different inputs
or values. When an overloaded method is invoked java first checks the method name, and the num ber of
arguments ,type of arguments; based on this compiler executes this method.
Compiler decides which method to call at compile time. By using overloading static polymorphism or static
binding can be achieved in java.
Note : Return type is not part of method signature. we may have methods with different return types but
return type alone is not sufficient to call a method in java.
9) What is difference between c++ and Java ?
Java C++
1) Java is platform independent C++ is platform dependent.
2) There are no pointers in java There are pointers in C++.
3) There is no operator overloading in java C ++ has operator overloading.
4) There is garbage collection in java There is no garbage collection
5) Supports multithreading Does’nt support multithreading
6) There are no templates in java There are templates in java
7) There are no global variables in java There are global variables in c++
10) What is JIT compiler ?
JIT compiler stands for Just in time compiler. JIT compiler compiles byte code in to executable code .
JIT a part of JVM .JIT cannot convert complete java program in to executable code it converts as and
when it is needed during execution.
11) What is bytecode in java ?
When a javac compiler compiler compiles a class it generates .class file. This .class file contains set of
instructions called byte code. Byte code is a machine independent language and contains set of
instructions which are to be executed only by JVM. JVM can understand this byte codes.
3|Page
, 12) Difference between this() and super() in java ?
this() is used to access one constructor from another with in the same class while super() is used to
access superclass constructor. Either this() or super() exists it must be the first statement in the
constructor.
13) What is a class ?
Classes are fundamental or basic unit in Object Oriented Programming .A class is kind of blueprint or
template for objects. Class defines variables, methods. A class tells what type of objects we are creating.
For example take Department class tells us we can create department type objects. We can create any
number of department objects.
All programming constructs in java reside in class. When JVM starts running it first looks for the class
when we compile. Every Java application must have atleast one class and one main method.
Class starts with class keyword. A class definition must be saved in class file that has same as class name.
File name must end with .java extension.
public class FirstClass
{public static void main(String[] args)
{System.out.println(“My First class”);
}
}
If we see the above class when we compile JVM loads the FirstClass and generates a .class
file(FirstClass.class). When we run the program we are running the class and then executes the main
method.
14) What is an object ?
An Object is instance of class. A class defines type of object. Each object belongs to some class.Every
object contains state and behavior. State is determined by value of attributes and behavior is called
method. Objects are alos called as an instance.
To instantiate the class we declare with the class type.
public classFirstClass {public static voidmain(String[] args)
{
FirstClass f=new FirstClass();
System.out.println(“My First class”);
}
}
To instantiate the FirstClass we use this statement
FirstClass f=new FirstClass();
f is used to refer FirstClass object.
15) What is method in java ?
It contains the executable body that can be applied to the specific object of the class.
Method includes method name, parameters or arguments and return type and a body of executable code.
Syntax : type methodName(Argument List){
}
ex : public float add(int a, int b, int c)
methods can have multiple arguments. Separate with commas when we have multiple arguments.
16) What is encapsulation ?
The process of wrapping or putting up of data in to a single unit class and
keeps data safe from misuse is called encapsulation .
4|Page
INTERVIEW QUESTIONS
& ANSWERS
1|Page
,1) what are static blocks and static initializers in Java ?
Static blocks or static initializers are used to initialize static fields in java. we declare static blocks when we
want to intialize static fields in our class. Static blocks gets executed exactly once when the class is loaded
. Static blocks are executed even before the constructors are executed.
2) How to call one constructor from the other constructor ?
With in the same class if we want to call one constructor from other we use this() method. Based on the
number of parameters we pass appropriate this() method is called.
Restrictions for using this method :
1) this must be the first statement in the constructor
2)we cannot use two this() methods in the constructor
3) What is method overriding in java ?
If we have methods with same signature (same name, same signature, same return type) in super class
and subclass then we say
subclass method is overridden by superclass.
When to use overriding in java
If we want same method with different behaviour in superclass and subclass then we go for overriding.
When we call overridden method with subclass reference subclass method is called hiding the superclass
method.
4) What is super keyword in java ?
Variables and methods of super class can be overridden in subclass . In case of overriding , a subclass
object call its own variables and methods. Subclass cannot access the variables and methods of
superclass because the overridden variables or methods hides the methods and variables of super class.
But still java provides a way to access super class members even if its members are overridden. Super is
used to access superclass variables, methods, constructors.
Super can be used in two forms :
1) First form is for calling super class constructor.
2) Second one is to call super class variables,methods.
Super if present must be the first statement.
5) Difference between method overloading and method overriding in java ?
Method Overloading Method Overriding
1) Method Overloading occurs with in the same Method Overriding occurs between
class two classes superclass and subclass
2) Since it involves with only one class inheritance Since method overriding occurs between superclass
is not involved. and subclass inheritance is involved.
3)In overloading return type need not be the same 3) In overriding return type must be same.
4) Parameters must be different when we do 4) Parameters must be same.
overloading
5) Static polymorphism can be acheived using 5) Dynamic polymorphism can be acheived using
method overloading method overriding.
6) In overloading one method can’t hide the 6) In overriding subclass method hides that of the
another superclass method.
2|Page
,6) Difference between abstract class and interface ?
Interface Abstract Class
1) Interface contains only abstract methods 1) Abstract class can contain abstract methods,
concrete methods or both
2) Access Specifiers for methods in interface 2) Except private we can have any access
must be public specifier for methods in abstract class.
3) Variables defined must be public , static , 3) Except private variables can have any access
final specifiers
4) Multiple Inheritance in java is implemented 4)We cannot achieve multiple inheritance using
using interface abstract class.
5) To implement an interface we use 5)To implement an interface we use implements
implements keyword keyword
7) Why java is platform independent?
The most unique feature of java is platform independent. In any programming language soruce code is
compiled in to executable code . This cannot be run across all platforms. When javac compiles a java
program it generates an executable file called .class file.
class file contains byte codes. Byte codes are interpreted only by JVM’s . Since these JVM’s are made
available across all platforms by Sun Microsystems, we can execute this byte code in any platform. Byte
code generated in windows environment can also be executed in linux environment. This makes java
platform independent.
8) What is method overloading in java ?
A class having two or more methods with same name but with different arguments then we say that those
methods are overloaded. Static polymorphism is achieved in java using method overloading.
Method overloading is used when we want the methods to perform similar tasks but with different inputs
or values. When an overloaded method is invoked java first checks the method name, and the num ber of
arguments ,type of arguments; based on this compiler executes this method.
Compiler decides which method to call at compile time. By using overloading static polymorphism or static
binding can be achieved in java.
Note : Return type is not part of method signature. we may have methods with different return types but
return type alone is not sufficient to call a method in java.
9) What is difference between c++ and Java ?
Java C++
1) Java is platform independent C++ is platform dependent.
2) There are no pointers in java There are pointers in C++.
3) There is no operator overloading in java C ++ has operator overloading.
4) There is garbage collection in java There is no garbage collection
5) Supports multithreading Does’nt support multithreading
6) There are no templates in java There are templates in java
7) There are no global variables in java There are global variables in c++
10) What is JIT compiler ?
JIT compiler stands for Just in time compiler. JIT compiler compiles byte code in to executable code .
JIT a part of JVM .JIT cannot convert complete java program in to executable code it converts as and
when it is needed during execution.
11) What is bytecode in java ?
When a javac compiler compiler compiles a class it generates .class file. This .class file contains set of
instructions called byte code. Byte code is a machine independent language and contains set of
instructions which are to be executed only by JVM. JVM can understand this byte codes.
3|Page
, 12) Difference between this() and super() in java ?
this() is used to access one constructor from another with in the same class while super() is used to
access superclass constructor. Either this() or super() exists it must be the first statement in the
constructor.
13) What is a class ?
Classes are fundamental or basic unit in Object Oriented Programming .A class is kind of blueprint or
template for objects. Class defines variables, methods. A class tells what type of objects we are creating.
For example take Department class tells us we can create department type objects. We can create any
number of department objects.
All programming constructs in java reside in class. When JVM starts running it first looks for the class
when we compile. Every Java application must have atleast one class and one main method.
Class starts with class keyword. A class definition must be saved in class file that has same as class name.
File name must end with .java extension.
public class FirstClass
{public static void main(String[] args)
{System.out.println(“My First class”);
}
}
If we see the above class when we compile JVM loads the FirstClass and generates a .class
file(FirstClass.class). When we run the program we are running the class and then executes the main
method.
14) What is an object ?
An Object is instance of class. A class defines type of object. Each object belongs to some class.Every
object contains state and behavior. State is determined by value of attributes and behavior is called
method. Objects are alos called as an instance.
To instantiate the class we declare with the class type.
public classFirstClass {public static voidmain(String[] args)
{
FirstClass f=new FirstClass();
System.out.println(“My First class”);
}
}
To instantiate the FirstClass we use this statement
FirstClass f=new FirstClass();
f is used to refer FirstClass object.
15) What is method in java ?
It contains the executable body that can be applied to the specific object of the class.
Method includes method name, parameters or arguments and return type and a body of executable code.
Syntax : type methodName(Argument List){
}
ex : public float add(int a, int b, int c)
methods can have multiple arguments. Separate with commas when we have multiple arguments.
16) What is encapsulation ?
The process of wrapping or putting up of data in to a single unit class and
keeps data safe from misuse is called encapsulation .
4|Page