5 JAVA Technical Interview Questions

In this post, I am going to discuss the top 5 JAVA interview technical questions that are frequently asked in the technical interview of big IT companies that are looking for JAVA developers.

1. What is Method Overriding in JAVA?

One of the most common technical interview questions

1. Method overriding is used to enable sub-class to use same Method name, same number, and type of arguments and same return type of super-class

2. It is run-time polymorphism

3. The methods must have the same signature.

Example:


class Book {
void run(){
System.out.println(“Book is issued”);
}
Class MathBook extends Book{
void run()
{
System.out.prinltn(“MathBook is issued to Maths Student”);
}
public static void main( String args[])
{
Book b=new MathBook();
b.run();
}

}

2. What are Threads in JAVA? How to create Threads?

Again very important IT interview question
A thread is an independent and isolated path of execution in a single program.
Many threads can run concurrently either synchronously or asynchronously within a single program.
Every thread in Java is controlled using Java.lang.Thread class.
Threads can be created in two ways
1. By extending the Thread class (java.lang.Thread)
2. Implement the Runnable Interface (java.lang.Runnable)
Check out my post on Threads in JAVA to know more about Threads in detail.
3. Why creating Threads by extending Thread class is a Bad Practice?
public class AppWindows extends Thread {
      Private String data;
      Public AppWindows(String data){
      this.data = data;
   }
      public void run() {
           AppWindowsHelper appwindowsHelper =  new AppWindowsHelper();
           appWindowsHelper.status(this.data);
       }
   }

Because we extend superclass to create subclass with more advanced features, but here we are just overriding the run () method and not doing anything else.

4. What are immutable objects in JAVA?

1. Immutable objects are the objects which don't change its internal state after creation
2. They are really useful in multithreaded applications because they can be shared between threads without synchronization.

5. How to make Class immutable in JAVA?


We can create an immutable class:

1. by declaring a class as FINAL, so that it can’t be extended
2. Make all the fields private
3. Make all the mutable fields as final
Example:
public final class Book {
private final String bookName;
public Book(String bookName){
this.bookName = bookName;
}
public String getBookName(){
return bookName;
} }
Check out some more post on JAVA below:





Comments

Popular posts from this blog

Tricky Questions or Puzzles in C

Program to uncompress a string ie a2b3c4 to aabbbcccc

Number series arrangement puzzles