Java Interview Questions
When you declare a method as abstract method?
When I want child class to implement the behavior of the method.
Can I call an abstract method from a non abstract method?
Yes, We can call a abstract method from a Non abstract method in a Java abstract class
What is the difference between an Abstract class and Interface in Java? Or can you explain when you use Abstract classes?
Abstract classes let you define some behaviors; they force your subclasses to provide others. These abstract classes will provide the basic functionality of your application, child class which inherited this class will provide the functionality of the abstract methods in abstract class. When base class calls this method, Java calls the method defined by the child class.
• An Interface can only declare constants and instance methods, but cannot implement default behavior.
• Interfaces provide a form of multiple inheritances. A class can extend only one other class.
• Interfaces are limited to public methods and constants with no implementation. Abstract classes can have a partial implementation, protected parts, static methods, etc.
• A Class may implement several interfaces. But in case of abstract class, a class may extend only one abstract class.
• Interfaces are slow as it requires extra indirection to find corresponding method in the actual class. Abstract classes are fast.
What is user-defined exception in java?
User-defined exceptions are the exceptions defined by the application developer which are errors related to specific application. Application Developer can define the user defined exception by inherit the Exception class as shown below. Using this class we can throw new exceptions.
Java Example:
Public class noFundException extends Exception {
}
Throw an exception using a throw statement:
Public class Fund {
…
Public Object getFunds () throws noFundException {
if (Empty()) throw new noFundException();
…
}
}
User-defined exceptions should usually be checked.
What is the difference between checked and Unchecked Exceptions in Java?
All predefined exceptions in Java are either a checked exception or an unchecked exception. Checked exceptions must be caught using try… Catch () block or we should throw the exception using throws clause. If you don’t, compilation of program will fail.
Java Exception Hierarchy
+——–+
| Object |
+——–+
|
|
+———–+
| Throwable |
+———–+
/ \
/ \
+——-+ +———–+
| Error | | Exception |
+——-+ +———–+
/ | \ / | \
\________/ \______/ \
+——————+
Unchecked checked | Runtime Exception |
+——————+
/ | | \
\_________________/
Unchecked
