Object-oriented programming · interview question
With a superclass reference pointing to a subclass object, what prints here?
Multiple choiceHardchapter-5-curatedpremiumoopmethod-overriding
class SuperClass {
void display() {
System.out.println("SuperClass Method");
}
}
class SubClass extends SuperClass {
@Override
void display() {
System.out.println("SubClass Method");
}
}
public class Test {
public static void main(String[] args) {
SuperClass obj = new SubClass();
obj.display();
}
}Answer and explanation
Correct answer
D. SubClass Method
Why
The method in the subclass overrides the method in the superclass. When the method is called on an instance of SubClass, it uses the overridden method, resulting in 'SubClass Method' being printed.
Test yourself on Object-oriented programming
A free test with instant, explained results. No account needed.
More Object-oriented programming questions
- In a typical e-commerce application, how should a CartItem object access the price of a Product?
- What design principle is violated if a Cart class directly manipulates a Product's price?
- Why might CartItem hold a Product reference instead of copying every product field into loose variables?
- In the context of e-commerce, which class is most likely to contain a method called calculateTotalPrice()?
- What access modifier should be used for fields to adhere to encapsulation principles?
- How would you explain a key reason to use encapsulation when designing an object with multiple responsibilities in an…