• Home
    Home This is where you can find all the blog posts throughout the site.
  • Categories
    Categories Displays a list of categories from this blog.
  • Bloggers
    Bloggers Search for your favorite blogger from this site.
  • Login
Posted by on in Java/J2ee
  • Font size: Larger Smaller
  • Hits: 3883

Java language Interview Question

what are the main features of java?

Platform Independent Robust

  • Simple
  • Object Oriented
    4.Dynamic binding
  • Robust
  • Distributed
  • Portable
  • Dynamic
  • Secure
  • Performance
  • Multithreaded
  • Interpreted
  • Architecture Neutral

Platform Independent :

The concept of Write-once-run-anywhere (known as the Platform independent) is one of the important key feature of java language that makes java as the most powerful language. Not even a single language is idle to this feature but java is more closer to this feature. The programs written on one platform can run on any platform provided the platform must have the JVM

Simple :

Java was designed to be easy for the professional programer to learn and use effectively.

Object Oriented :

Object-oriented programming (OOP) is at the core of Java. In fact, all Java programs are to atleast some extent object-oriented. OOP is so integral to Java that it is best to understand its basic principles before you begin writing even simple Java programs

  1. Inheritance : It is the process of creating the new classes and using the behavior of the existing classes by extending them just to  reuse  the existing code and adding the additional features as needed.
  2. Encapsulation: It is the mechanism of combining the information and providing the abstraction.
  3. Polymorphism: As the name suggest one name multiple form, Polymorphism is the way of providing the different functionality by the  functions  having the same name based on the signatures of the methods
  4. Dynamic binding: When type of the object is determined at run-time, it is known as dynamic binding

Robust : Java is robust because it is highly supported language, meaning that unlike C you cannot crash your computer with a bad program. Also, another factor in its robustness is its portability across many Operating systems, with is supported by the Java Virtual Machine.

Distributed: Java is designed as distributed language because for creating applications on network.

Portable: Java can run on nearly every type of hardware and operating system.

Dynamic: Connecting to the Internet, a user immediately has access to thousands of programs and other computers.


  1. The Java compiler catches more compile-time errors; other languages (like C++) will compile programs that produce unpredictable results.
  2. Java does not allocate direct pointers to memory. This makes it impossible to accidentally reference memory that belongs to other programs.

Performance: Java uses native code usage, and lightweight process called  threads. In the beginning interpretation of bytecode resulted the performance slow but the advance version of JVM uses the adaptive and just in time compilation technique that improves the performance


Multithreading is a technique that allows a program or a process to execute many tasks concurrently It allows a process to run its tasks in parallel mode on a single processor system.

Interpreted :

Java is both compiled and interpreted .At first, the Java source code (in .java files) is compiled into the so-called Bytecode (.class files). The Bytecode is a pre-compiled, platform independent version of your program. The .class files can be used on any operating system. When the Java application is started, the Bytecode is interpreted by the Java Virtual Mashine. Because the Bytecode is pre-compiled, Java does not have the disadvantages of classical interpreted languages, like BASIC.

Architecture Neutral :

Java is a compiled language but rather than producing machine code for a specific processor, the Java compiler generates Java  bytecodes which are interpreted by a Java Virtual Machine (JVM). Providing a computer or workstation has an implementation of the JVM, any Java program can be run on that mac

What Is a Class?

A class is a way of binding the data and associated methods in a single unit Any JAVA program if we want to develop then that should be developed with respective class only without class there is no JAVA program.

Syntax for defining a CLASS:
Variable declaration;
Methods definition;


Define a class called a student..?
Class student
Int stno;
String stname; Float marks;
String cname;
Int getnohoursstudy ()
String getgrade ()

What Is an Object?

The process of creating objects from a class is called instantiation. An object is an instance of a class. The object is constructed using the class as a blueprint and is a concrete instance of the abstraction that the class represents. An object must be created before it can be used in a program.

What is encapsulation ?

The ability to make changes in your code without breaking the code of all others who use your code is a key benefit of encapsulation. You should always hide implementation details. To elaborate, you must always have your variables as private and then have a set of public methods that others can use to access your variables. Since the methods are public anyone can access them, but since they are in your class you can ensure that the code works the way that is best for you. So in a situation that you want to alter your code, all you have to do is modify your methods. No one gets hurt because i am just using your method names in my code and the code inside your method doesnt bother me much. 

If you want maintainability, flexibility, and extensibility (and I guess, you do), your design must include encapsulation. How do you do that? 

  1. Keep instance variables protected (with an access modifier, mostly private). 
  2. Make public accessor methods, and force calling code to use those methods rather than directly accessing the instance variable. 
  3. For the methods, use the JavaBeans naming convention of set and get. 

What is inheritance ?

Inheritance is a concept in java that will achieve super class properties inside of base class called inheritance means we inherits data from parents class to child class.

what is polymorphism ?

Polymorphism is the association between a generalized reference and a more specific object. For instance, consider the following code:

Animal a = new Dog(); //right
Dog d = new Animal(); //wrong

The first example, the reference ais referencing a Dog object. So when a method call is made, such as:a.eat(); the eat method is carried out by the Dog object that a references.

The second example is incorrect, because not all Animals can perform Dog actions, so a method call of d.bark() does not make sense, because not all Animals can bark.

same action can act differently on different object
ex- operation move can be different for chess and a person

why Java is Secure ?

Java was designed to allow secure execution of code across network. To make Java secure many of the features of C and C++ were eliminated. Java does not use Pointers. Java programs cannot access arbitrary addresses in memory.

What is a pointer and does Java support pointers?

Pointer is a reference handle to a memory location. Improper handling of pointers leads to memory leaks and reliability issues hence Java doesn't support the usage of pointers.

Why is java called 'strongly typed' language?

First every variable has a type every expression has a type and every type is strictly defined.

what is Strongly Typed ?

Java is a strongly typed programming language because every variable must be declared with a data type. A variable cannot start off life without knowing the range of values it can hold, and once it is declared, the data type of the variable cannot change

what is weak typed ?

One last characteristic of JavaScript needs to be discussed before going on to the next chapter. JavaScript is considered a weakly typed.

What is Java Virtual Machine (JVM) ?

JVM is the main component of Java architecture and it is the part of the JRE (Java Runtime Enviroment) . It provides the cross platform functionality to java. This is a software process that converts the compiled Java byte code to machine code. Byte code is an intermediary language between Java source and the host system.

What is Java Development Kit (JDK) ?

A Java Development Kit (JDK) is a program development environment for writing Java applets and applications. It consists of a runtime environment that "sits on top" of theoperating system layer as well as the tools and programming that developers need to compile, debug, and run applets and applications written in the Java language

What is the difference between a JDK and a JVM?

JDK is Java Development Kit which is for development purpose and it includes execution environment also. But JVM is purely a run time environment and hence you will not be able to compile your source files using a JVM.

What is the base/super class for all classes in Java?

Every class that is not extending another class is implicitly extending Object class in Java. So java.lang.Object class is the super most class of all classes in Java. Whereas an abstract class can contains abstract methods without any body but it can also have non-abstract methods with body (which is not possible with interfaces). However, interface and abstract classes can not have objects. They can only have object references which point to object of implementing class or sub clas

 why java does not support multiple inheritance?

Java absolutly support multiple inheritence in terms of Interface.We can extend one class only to avoid ambiguity problem.In interface we have to define the functions.So we don't get any ambiguity.In c++ it is big problem with multiple inheritence but in JAVA this thing is improved by introducing Interfaces

Is Java a pure object oriented language?

No. Java is an object oriented programming language but it is not 100% purely object oriented. It still has some features related to other programming patterns and hence cannot be considered pure object oriented

What is variables and then types?
Variables is an identifier that denotes a storage location used to store a data values.unlike constants that remain unchanged during the execution of a program, a variable may takes different values at different times during the execution of the program.
Instance variables
Class variables
Local variable

what is dot operator?
The dot operator(.) is used to access the instance variables and methods of class objects.It is also used to access classes and sub-packages from a package.
Examples :
Person1.age ---------> Reference to the variable age

Define strings?
Strings represent a sequence of characters.The easiest way to represent a sequence of characters in java is by using a character array.

What is serialization?
Serialization is the process of converting a objects into a stream of bytes.

What are different types of access modifiers?
Access specifiers are keywords that determine the type of access to the member a class.

What is an abstract class?
Abstract class is a class which contain one or more abstract methods, which has to be implemented by sub classes. An abstract class can contain no abstract methods also i.e. abstract class may contain concrete methods.

what are class variables?
Class variables are global to a class and belong to the entire set of objects that class creates. Only one memory location is created for each variable.

What is the Collection interface?
The Collection interface provides support for the implementation of a mathematical bag - an unordered collection of objects that may contain duplicates.

What must a class do to implement an interface?
The class must provide all of the methods in the interface and identify the interface in its implements clause.

What is the Collections API?
The Collections API is a set of classes and interfaces that support operations on collections of objects.

What is an array?
Array is a group of related data items that share a common name.For instance, we can define an array name salary to represent a set of salaries of a group of employees.
Examples : salary[10]

What is a list iterator?
The List and Set collections provide iterators, which are objects that allow going over all the elements of a collection in sequence. The java.util.Iterator interface provides for one-way traversal and java.util.ListIterator is an iterator for lists that allows the programmer to traverse the list in either direction (i.e. forward and or backward) and modify the list during iteration.

What is the main difference between a String and a StringBuffer class?
String is immutable : you can’t modify a string object but can replace it by creating a new instance. Creating a new instance is rather expensive.StringBuffer is mutable : use StringBuffer or StringBuilder when you want to modify the contents. StringBuilder was added in Java 5 and it is identical in all respects to StringBuffer except that it is not synchronized,which makes it slightly faster at the cost of not being thread-safe.

When to use serialization?
A common use of serialization is to use it to send an object over the network or if the state of an object needs to be persisted to a flat file or a database.

What is the main difference between shallow cloning and deep cloning of objects?
Java supports shallow cloning of objects by default when a class implements the java.lang.Cloneable interface.
Deep cloning through serialization is faster to develop and easier to maintain but carries a performance overhead.

What are wrapper classes?
primitive data types may be converted into object types by using the wrapper classes contained in the java.lang package.
Exampes : int, float, long, char, double

What is the difference between an instance variable and a static variable?
Class variables are called static variables. There is only one occurrence of a class variable per JVM per class loader.When a class is loaded the class variables are initialized.
Instance variables are non-static and there is one occurrence of an instance variable in each class instance.Also known as a member variable or a field.

Where and how can you use a private constructor?
Private constructor is used if you do not want other classes to instantiate the object and to prevent subclassing.The instantiation is done by a public static method (i.e. a static factory method) within the same class.

What is type casting?
Type casting means treating a variable of one type as though it is another type.
Examples :
int m = 5;
byte n =i;

What is a user defined exception?
User defined exceptions may be implemented by defining a new exception class by extending the Exception class.

What is an instanceof operator?
Instanceof is an object reference operator and returns true if the object on the left-hand side is an instance of the glass given to the right hand side.This operator allows to determine whether the object belongs to a particular class or not.

What are runtime exceptions?
Runtime exceptions are those exceptions that are thrown at runtime because of either wrong input data or because of wrong business logic etc. These are not checked by the compiler at compile time.

What is the difference between an interface and an abstract class?
An abstract class may contain code in method bodies, which is not allowed in an interface. With abstract classes, you have to inherit your class from it and Java does not allow multiple inheritance. On the other hand, you can implement multiple interfaces in your class.

what is a package?
A package is a namespace that organizes a set of related classes and interfaces.The classes contained in the packages of other programs can be easily reused.Packages, classes can be unique compared with classes in other packages.That is, two classes in two different packages can have the same name.

Why do threads block on I/O?
Threads block on i/o (that is enters the waiting state) so that other threads may execute while the i/o Operation is performed.

What is the List interface?
The List interface provides support for ordered collections of objects.

What is the Vector class?
The Vector class provides the capability to implement a growable array of objects.

What is the base class of all classes?

What is the importance of static variable?
static variables are class level variables where all objects of the class refer to the same variable. If one object changes the value then the change gets reflected in all the objects.

What is the difference between a while statement and a do while statement?
A while statement checks at the beginning of a loop to see whether the next loop iteration should occur. A do while statement checks at the end of a loop to see whether the next iteration of a loop should occur. The do whilestatement will always execute the body of a loop at least once.

Describe life cycle of thread?
A thread is similiar to a program that has a single flow of control.A thread is a execution in a program. The life cycle of threads are
Newborn state
Runnable state
Running state
Blocked state
Dead state

What is an Applets?
Applets are small java programs that are primarily used in Internet computing. They can be transported over the internet from one computer to another and run using the Applet Viewer or any web browser that supports java.

What are wrapped classes?
Wrapped classes are classes that allow primitive types to be accessed as objects.

What is the difference between an if statement and a switch statement?
The if statement is used to select among two alternatives. It uses a boolean expression to decide which alternative should be executed. The switch statement is used to select among multiple alternatives. It uses an int expression to determine which alternative should be executed.s

What modifiers are allowed for methods in an Interface?

Only public and abstract modifiers are allowed for methods in interfaces.

What is the difference between method overriding and overloading?
Overriding is a method with the same name and arguments as in a parent, whereas overloading is the same method name but different arguments.

What do you mean by polymorphism?
Polymorphism means the ability to take more than one form. fro example, an operation may exhibit behaviour in different instances. The behaviour depends upon the types of data used in the operatiom.

What is the difference between an abstract class and an interface?
Abstract class Interface - Have executable methods and abstract methods.Can only subclass one abstract class
Interface - Have no implementation code. All methods are abstract.A class can implement any number of interfaces.

What is the purpose of finalization?
The purpose of finalization is to give an unreachable object the opportunity to perform any cleanup processing before the object is garbage collected.

What is the difference between a break statement and a continue statement?
Break statement results in the termination of the statement to which it applies (switch, for, do, or while).
A Continue statement is used to end the current loop iteration and return control to the loop statement.

When is a method said to be overloaded and when is a method said to be overridden?
Overloading deals with multiple methods in the same class with the same name but different method signatures.
Overriding deals with two methods, one in the parent class and the other one in the child class and has the same name and signatures.

How is final different from finally and finalize()?
Final - constant declaration.
The finally block always executes when the try block exits, except System.exit(0) call.
finalize() is a method of Object class which will be executed by the JVM just before garbage collecting object to give a final chance for resource releasing activity.

What is Byte Code?
All Java programs are compiled into class files that contain bytecodes. These byte codes can be run in any platform and hence java is said to be platform independent.

What is the difference between error and an exception?
Exception means When a method encounters an abnormal condition (an exception condition) that it can’t handle itself, it may throw an exception.
ssError mens system doesn’t handle.For example:Overflow,Out of memory.

What if the main method is declared as private?
When a method is declared as private, the program compiles properly but it will give runtime error Main method not “public.

What type of parameter passing does Java support?
In Java the arguments are always passed by value.

What is singleton?
It is one of the design pattern. This falls in the creational pattern of the design pattern. There will be only one instance for that entire JVM. You can achieve this by having the private constructor in the class.

What is Locale?
A Locale object represents a specific geographical, political, or cultural region.

What is the difference between constructors and normal methods?
Constructors must have the same name as the class and can not return a value. They are only called once while regular methods could be called many times and it can return a value or can be void.

What is the difference between static and non-static variables?
A static variable is associated with the class as a whole rather than with specific instances of a class.
Non-static variables take on unique values with each object instance.

What is the difference between java and c++?
Java is a true object - oriented language while c++ is basically c with object-oriented extension.
C++ supports multiple inheritence but Java provides interfaces in case of multiple inheritence.
Java does not support operator overloading.
Java does not have template classes as in c++.
java does not use pointers.

Administrator has not set their biography yet


  • No comments made yet. Be the first to submit a comment

Leave your comment

Guest Monday, 25 September 2017