What does subclassing mean in Java?
How can visibility affect inheritance in Java?
Why might forced inheritance be a poor design choice?
What role do abstract classes play in inheritance?
How can inheritance violate the Liskov Substitution Principle?
What does declaring a class as 'final' mean in Java?
How does Java handle multiple inheritance using interfaces?
When should composition be preferred over inheritance?
Why does interfaces in polymorphism matter in this design?
Why is immutability important for value-like data in Java?