public class SealedWithLocalAndAnonymousClasses { sealed interface I { final class C1 implements I { } static void test() { final class TT implements I { } I i2 = new I() { }; I i = getI(); switch (i) { case C1 c1 -> { System.out.println("1"); } } } private static I getI() { return null; } } }