Object-Oriented Programming · Question 6 · Medium
What is the output of the following Java code?
class Animal {
void sound() { System.out.println("Generic"); }
}
class Dog extends Animal {
void sound() { System.out.println("Bark"); }
}
// in main:
Animal a = new Dog();
a.sound();
- Bark
- Generic
- Compilation error
- Generic followed by Bark
Answer and explanation
Answer: A. Bark
Explanation: sound() is an overridden instance method, so the call is dispatched on the actual object type (Dog) at runtime, even though the reference type is Animal.
Previous: A Car object contains an Engine object. This "has-a" relationship is best… · Next: What is the output of the following Java code?
Practise object-oriented programming
Try a fresh set of object-oriented programming questions with an explanation after every answer, free and without signing up: Object-Oriented Programming practice. Or sit a full placement mock test.
More object-oriented programming questions
- Which OOP feature lets a single reference of a parent type call different…
- Which statement about constructors in Java is correct?
- A Car object contains an Engine object. This "has-a" relationship is best…
- What is the output of the following Java code?
- Which statement about abstract classes and interfaces in Java is correct?
- In C++, how is the "diamond problem" (two copies of a common base class…
- Which pair of method declarations CANNOT both appear in the same Java class?
- What is printed when new C() is executed?
- What is the output of the following Java code?
- What is the output of the following Java code?
More technical & programming practice
DBMS · SQL · Operating Systems · Computer Networks · Software Engineering · Cloud & DevOps · GenAI Basics · Pseudo-code
LogicWiz Exams home · All practice topics · Placement mock tests · Daily 10 challenge