When should behavior be on the object itself?
What are the consequences of not using instance methods?
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?
How can the 'is-a' relationship influence class design in Java?
What are some pitfalls of subclassing in Java?