-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathInterfaceCollision.java
More file actions
69 lines (51 loc) · 1.1 KB
/
InterfaceCollision.java
File metadata and controls
69 lines (51 loc) · 1.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
package interfaces;
import java.util.*;
/**
* COMPILE:
* javac interfaces/InterfaceCollision.java
* OUTPUT:
* interfaces\InterfaceCollision.java:55: error: C5 is not abstract and does not override abstract method f() in I1
* class C5 extends C implements I1 {
* ^
* interfaces\InterfaceCollision.java:59: error: types I3 and I1 are incompatible; both define f(), but with unrelated return types
* interface I4 extends I1, I3 {
* ^
* 2 errors
*
* TO FIX ERRORS: comment code for class C5 and interface I4
*/
interface I1 {
void f();
}
interface I2 {
int f(int i);
}
interface I3 {
int f();
}
class C {
public int f() {
return 1;
}
}
class C2 implements I1, I2 {
public void f() {
}
public int f(int i) {
return i;
}
}
class C3 extends C implements I2 {
public int f(int i) {
return i;
}
}
class C4 extends C implements I3 {
public int f() {
return 1;
}
}
// class C5 extends C implements I1 {
// }
// interface I4 extends I1, I3 {
// }