Core Java Interview Questions and Answers



Java Interview Questions and Answers.

Hi Guys. You can see the list of important interview questions asked in Java. Please have a look. This might be useful for you for preparing your interviews. You can get a clear view on definitions and concepts from this page.

What is Java? Where it is used?

Java is a programming language and computing platform. It is released by Sun Microsystems in 1995. It is used in Gaming, Web building & Business Applications.

What are the Basic concepts of OOPS?

Object
Class
Data Abstraction
Data Encapsulation
Polymorphism
Inheritance
Dynamic Binding & Message Parsing

What is an Object?
An object is an instance of class. It can be a name, color, etc....

What is a Class?
A class is a blue print from which individual objects are created.

What is Data Abstraction?
Data Abstraction refers to the act of representing essential features without considering the background details or explanations.

What is Data Encapsulation?
It is used for hiding the properties of an object. It prevents other objects from accessing the properties of the encapsulate object.

What is Polymorphism?
Polymorphism is the ability to have more than one form.

Explain the different forms of Polymorphism?
There are two types of polymorphism one is Compile time polymorphism and the other one is run time polymorphism.
Compile time polymorphism is method overloading.
Runtime time polymorphism is done using inheritance and interface.

How does Java implement polymorphism?
Java implements polymorphism by using overloading and overriding concepts.

What is Overloading?
Methods with same name, but with different arguments.

What is overriding?
When a method in a subclass has the same name and type signature as a method in its super class, then the method in the subclass is said to override the method in the super class.
A method named final or a method named static cannot be overridden.

Can a main method be overridden?
Since the main method is static it cannot be overridden.

What is super keyword?
Super keyword is used to access the methods or member variables from the super class. If a method hides one of the member variables in its super class, the method can refer to the hidden variable through the use of the super keyword.
If a method overrides one of the methods in its super class, the method can invoke the overridden method through the use of the super keyword.

What is Inheritance? What are its types?
Inheritance is the process by which objects of one class acquiring the properties of objects of another class. The types are single inheritance, multiple inheritance, multilevel inheritance and hierarchical inheritance.

Does Java support multiple inheritances? If yes/no why?
No. Java does not support multiple inheritances. Because when a class inherits from more than one class, it will lead to inheritance path ambiguity problem which is normally called as diamond problem.

Name the keyword used for inheritance?
Extends keyword is used for inheritance.

What is Dynamic Binding?
Dynamic Binding refers to the linking of a procedure call to the code to be executed in response to the call. Dynamic binding means that the code associated with a given procedure call is not known until the time of the call at run-time.
It is associated with polymorphism and inheritance.

What is an Interface?
An interface is a description of a set of methods that conforming implementing classes must have.
You cannot mark an interface as final. Interface variables must be static. An Interface cannot extend anything but it can extend with another interfaces.

Is it possible to instantiate an interface?
It is not possible to instantiate an interface directly, but you can instantiate a class that implements an interface.

Do interfaces have member variables?
Interfaces may have member variables, but these are implicitly public, static, and final. In other words, interfaces can declare only constants, not instance variables that are available to all implementations and may be used as key references for method arguments for example.

What is an abstract class?
Abstract classes are classes that contain one or more abstract methods. An abstract method is a method that is declared, but contains no implementation.
If even a single method is abstract, the whole class must be declared abstract.
Abstract classes may not be instantiated, and require subclasses to provide implementations for the abstract methods.
An abstract class can never be instantiated. Its purpose is to be extended (sub classed).
You cannot mark a class as both abstract and final.

What are the differences between Interface and Abstract class?
An abstract class can provide complete, default code and just the details that have to be overridden.       
An interface cannot provide any code at all, just the signature.
All the methods declared inside an interface are implicitly abstract whereas abstract class must have at least one abstract method and others may be concrete or abstract.
In abstract class, key word abstract must be used for the methods whereas interface we need not use that keyword for the methods.
Abstract class must have subclasses whereas interface cannot have subclasses.

When should I use abstract classes and when should I use interfaces?
Use an interface if various implementations only share method signatures.
You need some classes to use some methods which you don't want to be included in the class, then you go for the interface, which makes it easy to just implement and make use of the methods defined in the interface.
Use Abstract Class if various implementations are of the same kind and use common behavior or status then abstract class is better to use. Abstract classes are an excellent way to create planned inheritance hierarchies.

When you declare a method as abstract, can other non abstract methods access it?
Yes, other non abstract methods can access a method that you declare as abstract.

Can there be an abstract class with no abstract methods in it?
Yes, there can be an abstract class without abstract methods.

What is Constructor?
A constructor is a special method whose task is to initialize the object of its class.
It is a special method because its name is the same as the class name.
They do not have any return types. They not even have void, they cannot be inherited. A constructor is called when instantiating a object with new (). Constructors can be overloaded.


Can constructor be inherited?
No, constructor cannot be inherited, though a derived class can call the base class constructor.

How are this () and super () used with constructors?
Constructors use this to refer to another constructor in the same class with a different parameter list.
Constructors use super to invoke the super class’s constructor. If a constructor uses super it must use it in the first line. Otherwise the compiler will throw.

What are the differences between Class Methods and Instance Methods?
Class methods are methods which are declared as static. The method can be called without creating an instance of the class.
Instance methods on the other hand require an instance of the class to exist before they can be called, so an instance of a class needs to be created by using the new keyword.

What are Access Specifies? What are its types?
One of the techniques in object-oriented programming is encapsulation. It concerns the hiding of data in a class and making this class available only through methods. Java allows you to control access to classes, methods, and fields via so-called access specifies.
Public- public classes, methods, and fields can be accessed from everywhere.
Private- Private Methods and fields can only be accessed within the same class to which the methods and fields belong. Private methods and fields are not visible within subclasses and are not inherited by subclasses.
Protected- protected methods and fields can only be accessed within the same class to which the methods and fields belong, within its subclasses, and within classes of the same package.
Default- If you do not set access to specific level, then such a class, method, or field will be accessible from inside the same package to which the class, method, or field belongs, but not from outside this package.

Name some modifiers in java?
Final, Transient, abstract, public, private, etc...

What is final modifier?
A class declared as final cannot be sub classed.
A method declared as final cannot be overridden and dynamically looked up.
A field declared as final cannot change its value. Static final fields are compile-time constants.
A variable declared as final cannot change its value.

What is static block?
Static block executes exactly once when the class is first loaded into JVM. Before going to the main method the static block will execute.

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 an Iterator?
The Iterator interface is used to step through the elements of a Collection.
Iterators let you process each element of a Collection.
Iterators are a generic way to go through all the elements of a Collection no matter how it is organized.
Iterator is an Interface implemented a different way for every Collection.


What are the advantages of Array List over arrays ?
It can grow dynamically
It provides more powerful insertion and search mechanisms than arrays.

What are the main Implementations of the Set interface?
Hash Set
Tree Set
Linked Hash Set
Enum Set

Difference between Hash Map and Hash table ?
Hash Map lets you have null values as well as one null key.
Hash Table does not allows null values as key and value.
The iterator in the Hash Map is fail-safe.
The enumerator for the Hash table is not fail-safe.
Hash Map is unsynchronized.
Hash table is synchronized.

Explain different way of using thread?
The thread could be implemented by using runnable interface or by inheriting from the Thread class.

What are pass by reference and passby value?
Pass By Reference means the passing the address itself rather than passing the value. Passby Value means passing a copy of the value to be passed.

What is Hash Map and Map?
Map is Interface and Hash map is class that implements that.

Difference between Vector and Array List?
Vector is synchronized whereas array list is not synchronized.

Difference between Swing and Awt?
AWT are heavy-weight components. Swings are light-weight components. Swing works faster than AWT.

What is the difference between a constructor and a method?
A constructor is a member function of a class that is used to create objects of that class. It has the same name as the class itself, has no return type, and is invoked using the new operator.
A method is an ordinary member function of a class. It has its own name, a return type (which may be void), and is invoked using the dot operator.

What is Garbage Collection and how to call it explicitly?
The purpose of garbage collection is to identify and discard objects that are no longer needed by a program so that their resources can be reclaimed and reused. A Java object is subject to garbage collection when it becomes unreachable to the program in which it is used. When an object is no longer referred to by any variable, java automatically reclaims memory used by that object. This is known as garbage collection. System. gc () method may be used to call it explicitly.

What is finalize () method?
Finalize () method is used just before an object is destroyed and can be called just prior to garbage collection.

What is daemon thread and which method is used to create the daemon thread?
Daemon thread is a low priority thread which runs intermittently in the back ground doing the garbage collection operation for the java runtime system. setDaemon method is used to create a daemon thread.

What are applets?
Applets are java programs used for internet computing. Applet is a dynamic and interactive program that runs inside a web page displayed by a java capable browser.

What is serialization and deserialization?
Serialization is the process of writing the state of an object to a byte stream. Deserialization is the reverse process of restoring these objects.

What is JDBC?
JDBC stands for Java Data Base Connectivity which is a set of Java API for executing SQL statements.

What are drivers available in Java?
JDBC-ODBC Bridge driver
Native API Partly-Java driver
JDBC-Net Pure Java driver
Native-Protocol Pure Java driver

What is a subclass?
Subclass is a class that inherits from one or more classes.

What is a super class or base class?
Super class or a base class is a class from which another class inherits.

Explain Destructors in java?
Java does not have any destructors because java has garbage collection.

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

What are Instance variables?
Instance variables are variables which are defined inside the class but outside the method. They will be automatically initialized.

What is a package?
Package is a collection of related classes and interfaces.

Can a Class extend more than one Class?
No. A Class can extend only one class but it can implements any number of Interfaces.

What is a Marker Interface?
Interfaces with no methods are known as marker interfaces. Marker interfaces are Serializable, Clonable, Single Thread Model, Event listener. Marker Interfaces are implemented by the classes or their super classes in order to add some functionality.

Explain about transient keyword?
Transient keyword indicates that the member variable should not be serialized.

What is Synchronization?
Synchronization is the mechanism that ensures that only one thread is accessed the resources at a time.
Synchronization is a process of controlling the access of shared resources by the multiple threads in such a manner that only one thread can access one resource at a time.
With respect to multithreading, synchronization is the capability to control the access of multiple threads to shared resources. Without synchonization, it is possible for one thread to modify a shared variable while another thread is in the process of using or updating same shared variable. This usually leads to significant errors.
 
All the best...

No comments:

Post a Comment

My Profile