Core Java · interview question
Why does the following code not compile?
Multiple choiceHardchapter-5-curatedpremiumcore-javaupcasting-and-dynamic-dispatch
abstract class Service { abstract void execute(); }
class Shipping extends Service { void execute(); }
public class Main { public static void main(String[] args) { Service s = new Shipping(); s.execute(); } }Answer and explanation
Correct answer
B. The abstract method is missing a body in the subclass.
Why
In Java, an abstract method does not have a body in the superclass, but it must be provided a concrete implementation in the subclass. The subclass must correctly implement all abstract methods from the superclass.
Test yourself on Core Java
A free test with instant, explained results. No account needed.
More Core Java questions
- What happens if a class implements two interfaces that have methods with the same signature?
- Given the code snippet below, what will be the result of the comparison using '=='?
- Which of the following variable names is best for storing the total amount in a shopping cart?
- When does a local variable declared inside a method stop existing?
- Which of the following is a checked exception?
- Why might you choose 'int' over 'long' for storing the number of items in a small store's inventory?