Skip to content

Commit cdeec4d

Browse files
Add files via upload
1 parent d304440 commit cdeec4d

2 files changed

Lines changed: 99 additions & 0 deletions

File tree

Example6.java

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
2+
interface A<T> {
3+
public T get(T a);
4+
}
5+
6+
interface B<T> {
7+
public T get(T b);
8+
}
9+
10+
class C<T> implements A<T>, B<T> {
11+
public T get(T c) {
12+
return c;
13+
}
14+
}
15+
16+
class Example6<T extends A<? extends Number> & B<? extends Number>>{
17+
public static void main(String[] args) {
18+
A<Number> a = new A<Number>(){
19+
@Override
20+
public Number get(Number a) {
21+
return a;
22+
}
23+
};
24+
25+
System.out.println(a.get(1));
26+
27+
B<Integer> b = new B<Integer>(){
28+
@Override
29+
public Integer get(Integer b) {
30+
return b;
31+
}
32+
};
33+
34+
System.out.println(b.get(2));
35+
36+
37+
}
38+
39+
// Same for Double, Float,
40+
// Long, Short, Byte,
41+
// Which are extended by Number
42+
43+
44+
45+
46+
}

Example7.java

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
import java.io.Serializable;
2+
3+
interface A1<T> {
4+
public T get(T a);
5+
}
6+
7+
interface B1<T> {
8+
public T get(T b);
9+
}
10+
11+
class C1<T> implements A1<T>, B1<T> {
12+
public T get(T c) {
13+
return c;
14+
}
15+
}
16+
17+
18+
public class Example7<T extends A1<? super Number> & B1<? super Number>> {
19+
20+
public static void main(String[] args) {
21+
A1<Number> a = new A1<Number>(){
22+
@Override
23+
public Number get(Number a) {
24+
return a;
25+
}
26+
};
27+
28+
System.out.println(a.get(1));
29+
30+
B1<Object> b = new B1<Object>(){
31+
@Override
32+
public Object get(Object b) {
33+
return b;
34+
}
35+
};
36+
37+
System.out.println(b.get(2));
38+
39+
40+
B1<Serializable> b2 = new B1<Serializable>() {
41+
@Override
42+
public Serializable get(Serializable b) {
43+
return b;
44+
}
45+
};
46+
47+
System.out.println(b2.get(3));
48+
49+
}
50+
51+
52+
53+
}

0 commit comments

Comments
 (0)