1/*
2 * @test    /nodynamiccopyright/
3 * @bug     4721069
4 * @summary javac allows an interface to override a final method in Object
5 * @author  gafter
6 *
7 * @compile/fail/ref=T4721069.out -XDrawDiagnostics  T4721069.java
8 */
9
10interface I {
11    Class getClass(); // error: cannot overide final from Object
12    static class T {
13        static void f(I i) {
14            if (i == null) {
15                Integer x = Integer.valueOf(2);
16            } else {
17                I x = i;
18                x.getClass();
19            }
20        }
21        public static void main(String[] args) {
22            f(null);
23        }
24    }
25}
26