Java Interview Questions and Answers
What are the Object and Class classes used
The Object class is the highest-level class in the Java class hierarchy.
The Class class is used to represent the classes and interfaces that are
loaded by a Java program.
What is Serialization and deserialization ?
Serialization is the process of writing the state of an object to a byte
stream. Deserialization is the process of restoring these objects.
Explain the usage of Java packages.
This is a way to organize files when a project consists of multiple
modules. It also helps resolve naming conflicts when different packages
have classes with the same names. Packages access level also allows you
to protect data from being used by the non-authorized classes.
Does the code in finally block get executed if there is an exception
and a return statement in a catch block?
If an exception occurs and there is a return statement in catch block,
the finally block is still executed. The finally block will not be
executed when the System.exit(1) statement is executed earlier or the
system shut down earlier or the memory is used up earlier before the
thread goes to finally block.
No. They are completely different. Some syntax may be similar.
What is a Container in a GUI?
A Container contains and arranges other components (including other
containers) through the use of layout managers, which use specific
layout policies to determine where components should go as a function of
the size of the container.
How the object oriented approach helps us keep complexity of software
development under control?
We can discuss such issue from the following aspects:
Objects allow procedures to be encapsulated with their data to reduce
Inheritance allows well-tested procedures to be reused and enables
changes to make once and have effect in all relevant places.
The well-defined separations of interface and implementation allow
constraints to be imposed on inheriting classes while still allowing the
flexibility of overriding and overloading.
What is polymorphism?
Polymorphism means "having many forms". It allows methods (may be
variables) to be written that needn't be concerned about the specifics
of the objects they will be applied to. That is, the method can be
specified at a higher level of abstraction and can be counted on to work
even on objects of un-conceived classes.
What is design by contract?
The design by contract specifies the obligations of a method to any
other methods that may use its services and also theirs to it. For
example, the preconditions specify what the method required to be true
when the method is called. Hence making sure that preconditions are.
Similarly, postconditions specify what must be true when the method is
finished, thus the called method has the responsibility of satisfying
the post conditions.
In Java, the exception handling facilities support the use of design by
contract, especially in the case of checked exceptions. The assert
keyword can be used to make such contracts.
What are use cases?
A use case describes a situation that a program might encounter and what
behavior the program should exhibit in that circumstance. It is part of
the analysis of a program. The collection of use cases should, ideally,
anticipate all the standard circumstances and many of the extraordinary
circumstances possible so that the program will be robust.
What is scalability and performance?
Performance is a measure of "how fast can you perform this task." and
scalability describes how an application behaves as its workload and
available computing resources increase.
What is the benefit of subclass?
Generally: The sub class inherits all the public methods and the
The sub class inherits all the protected methods and their
The sub class inherits all the default(non-access modifier) methods and
The sub class also inherits all the public, protected and default member
variables from the super class.
The constructors are not part of this inheritance model.
How to add menushortcut to menu item?
If you have a button instance called aboutButton, you may add menu short
cut by calling aboutButton.setMnemonic('A'), so the user may be able to
use Alt+A to click the button.
Page Numbers :