public class Solution { public static void main(String[] args) throws Exception { print(new Beer()); print(new Cola()); } private static void print(Drink drink) { System.out.println(drink.getClass().getSimpleName()); } public interface Drink { boolean isAlcoholic(); } public static class Beer { @Override public boolean isAlcoholic() { return false; } } public static class Cola { @Override public boolean isAlcoholic() { return false; } } } Пишет неправильное приведение типов .