 Including the clauses improves type safety, because each class must implement the methods in the interface.The main tradeoff is more code.interface I {
class A implements I {
class B implements I {
// changing the implementing object in run-time (normally done in compile time)
class C implements I {
public class Main {


Forwarding is used in many design patterns.