Skip to content
Sharp

Language Upgrades · interview question

Consider the following code snippet of a sealed class hierarchy. Which class is incorrectly defined given the sealed class rules? sealed class Payment permits CreditCard, PayPal {} final class CreditCard extends Payment {} class Stripe extends Payment {} non-sealed class PayPal extends Payment {}?

Multiple choiceMediumchapter-12-curatedpremiumlanguage-upgradessealed-classes
java
sealed class Payment permits CreditCard, PayPal {}
final class CreditCard extends Payment {}
class Stripe extends Payment {}
non-sealed class PayPal extends Payment {}
Choose one answer
Answer and explanation

Correct answer

D. Stripe

Why

The class 'Stripe' is incorrectly defined because it extends the sealed class 'Payment' without being listed in the 'permits' clause. A sealed class restricts its subclasses to only those explicitly mentioned.

Test yourself on Language Upgrades

A free test with instant, explained results. No account needed.

Start free test
All Language Upgrades questions →