interface BarService { void drink(String beverage); } interface Music { void play(String tune); } interface Vehicle { void travel(String place); } interface Food { void consume(String eats); } interface RoadTripper extends Vehicle, Music { } interface Eatery extends Food, BarService { } interface FineDining extends Food, Music, BarService { } interface FullyStockedLimo extends RoadTripper, BarService { } class SmoothOperator { public void romanticDinner(FineDining restaurant) { restaurant.play("violin solo at the table"); restaurant.drink("white wine in long-stemmed glasses"); restaurant.consume("duck a l'orange"); } } class TeutonicWarlord { FullyStockedLimo ride = new LincolnContinentalLimo(); public void conquer(String city) { ride.travel(city); ride.play("ride of the valkyries"); ride.drink("shots of Jägermeister"); } } class Student { Music player = new IPod(); Eatery bistro = new Cafe(); public void study(String class) { player.play("Bach preludes"); bistro.drink("cup after cup of coffee"); // ... } }