Suppose A is an abstract class, B is a concrete subclass of A, and both A and B have a default constructor. Which of the following is correct?
1. A a = new A();
2. A a = new B();
3. B b = new A();
4. B b = new B();
A. 1 and 2
B. 2 and 4
C. 3 and 4
D. 1 and 3
E. 2 and 3
Answer: Option B
Join The Discussion
Comments ( 1 )
Related Questions on Interfaces and Abstract Classes
A. A contract specifying a set of methods that a class must implement
B. A class that cannot be instantiated
C. A class that contains only static methods
D. A subclass of the Object class
In Java, can a class implement multiple interfaces?
A. Interfaces cannot be implemented by classes
B. Only abstract classes can implement interfaces
C. No, a class can only implement one interface
D. Yes, a class can implement multiple interfaces
What is the purpose of an abstract class in Java?
A. To declare abstract methods
B. To provide a base class with common methods and fields
C. To make a class final
D. To declare abstract methods
Option 1. & 3. is wrong because we cant create object of abstract class.
2 & 4 are correct because B is concrete class and its object is created and in Option 2, reference of class A(abstract class) can be used to hold its child class's object.