this is from Java Core Level 3 Lesson 2, Beer part 2 Recovery. really want to know why this is allowed in Line 10 --> Drink beer = new AlcoholicBeer(); Drink is an interface, but here it's used as a Reference type. How is this possible? Someone did ask this question, but I could not understand the explanation (really tried). If someone could explain this well, I'd appreciate it.