Answer Posted / javamasque
Abstract means no concrete, it isn’t directly used. It depends on an implementation to be used. The abstract key word can be used before class (top-level/inner) or method.
Abstract class
• If we make a class abstract, it is not directly instantiated. It have to have a child class to be used.
• It is only be used through inheritance.
• The legacy or common functionality are kept in abstract class.
• It is also used for up casting and dynamic polymorphism.
• It is mostly used in factory design pattern.
• An abstract class can implement and extends another interface and class.
Abstract method
• An abstract doesn’t have any body.
• It has to have an override non-abstract method.
• If a class has an abstract method, then the class has to be abstract.
• An abstract method can only be set visibility modifier either public or protected.
Abstract inner class
• An inner class can be abstract but it is not commonly used and is not recommended also.
• A tight coupling utility is implemented as inner class but if the utility is too complex and we need to segregate into different inner subclasses, then we should go for abstract inner class. The scenario is very rare and it may not come in web applications but may come very big swing application.
| Is This Answer Correct ? | 4 Yes | 0 No |
Post New Answer View All Answers
What is overloading and overriding in java?
What are the differences between heap and stack memory?
What is constructor chaining in java?
What is the meaning of find and replace?
Why can't we make a class private in java?
What does a method signature consist of?
When is the finalize() called?
Can we start a thread twice in java?
What is boolean data type in java?
What is meant by singleton class?
extending thread class or implementing runnable interface. Which is better? : Java thread
State some situations where exceptions may arise in java?
What is the purpose of the return statement?
What is the purpose of file class?
What is the use of predicate in java 8?