author | hseigel |
Wed, 02 Mar 2016 23:48:41 +0000 | |
changeset 36397 | c487ced7231c |
parent 24797 | 850ebd4d80a7 |
child 37636 | 6c6e6e25189d |
permissions | -rw-r--r-- |
10 | 1 |
/* |
24797
850ebd4d80a7
8044072: Group 2: create .out files for OverrideChecks tests in tools/javac dir
sogoel
parents:
5520
diff
changeset
|
2 |
* @test /nodynamiccopyright/ |
850ebd4d80a7
8044072: Group 2: create .out files for OverrideChecks tests in tools/javac dir
sogoel
parents:
5520
diff
changeset
|
3 |
* @bug 4721069 |
850ebd4d80a7
8044072: Group 2: create .out files for OverrideChecks tests in tools/javac dir
sogoel
parents:
5520
diff
changeset
|
4 |
* @summary javac allows an interface to override a final method in Object |
850ebd4d80a7
8044072: Group 2: create .out files for OverrideChecks tests in tools/javac dir
sogoel
parents:
5520
diff
changeset
|
5 |
* @author gafter |
10 | 6 |
* |
24797
850ebd4d80a7
8044072: Group 2: create .out files for OverrideChecks tests in tools/javac dir
sogoel
parents:
5520
diff
changeset
|
7 |
* @compile/fail/ref=T4721069.out -XDrawDiagnostics T4721069.java |
10 | 8 |
*/ |
9 |
||
10 |
interface 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 = new Integer(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 |
} |