You are on page 1of 2

1

Java Interview Questions & Answers


Part 1 - Java Language Features

What are the most important features of Java?


Java is object oriented, platform independent,secure,robust,simple,etc

Which one of them do you consider the best feature of Java?


Platform independence.

What do you mean by platform independence?


Platform independence means that we can write and compile the java code in
one platform (eg Windows) and can execute the class in any other supported
platform eg (Linux,Solaris,etc).

What is byte code?


Byte code is a set of instructions generated by the compiler. JVM executes the
byte code.

How does Java acheive platform independence?


A Java source file on compilation produces an intermediary .class rather than a
executable file. This .class file is interpreted by the JVM. Since JVM acts as an
intermediary layer.

What is a JVM?
JVM is Java Virtual Machine which is a run time environment for the compiled
java class files.

Are JVM's platform independent?


JVM's are not platform independent. JVM's are platform specific run time
implementation provided by the vendor. A Windows JVM cannot be installed in
Linux.

Who provides the JVM?


Any software vendor can provide a JVM but it should comply to the Java
langauge specification.

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 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.

How is an object reference different from a pointer?


Both object reference and pointer point to the memory location of the object.
2
You can manipulate pointers but not object references.

Does Java support multiple inheritance?


Java doesn't support multiple inheritance.

Why Java doesn't support multiple inheritance?

B C

When a class inherits from more than class, it will lead to the diamond problem
- say A is the super class of B and C & D is a subclass of both B and C. D inherits
properties of A from two different inheritance paths ie via both B & C. This
leads to ambiguity and related problems, so multiple inheritance is not allowed
in Java.

Exa mple
A has show() method.

B and C overrides A’s show method()

From D if a call is made such as super.show () (compiler do not which class


show method to be called(B or C)).Due to this java doesn’t support multiple
inheritance directly.

Indirectly supported by means of interface

Is Java a pure object oriented language?


Java is a pure object oriented language. Except for the primitives everything
else are objects in Java.

What is the difference between Path and Classpath?


Path and Classpath are operating system level environment variales. Path is
used define where the system can find the executables(.exe) files and
classpath is used to specify the location .class files.

Why does Java not support operator overloading?


Operator overloading makes the code very difficult to read and maintain. To
maintain code simplicity, Java doesn't support operator overloading.

You might also like