本帖最后由 赵宇 于 2012-9-25 08:36 编辑
- 大家 也别嫌麻烦 帮我好好看看这几个问题。thank u ~
- import java.util.ArrayList;
- import java.util.LinkedList;
- import java.util.List;
- public class GenericTest<T>
- {
- private T foo;
- public T getFoo()
- {
- return foo;
- }
- public void setFoo(T foo)
- {
- this.foo = foo;
- }
- public static void main(String[] args)
- {
- GenericTest<? extends List> ge = null;
- ge = new GenericTest<ArrayList>();
- ge = new GenericTest<LinkedList>();
- <FONT color=red>//ge = new GenericTest<HashMap>(); // 这步错了,多少还可以理解
- </FONT>
- GenericTest<String> ge3 = new GenericTest<String>();
- ge3.setFoo("hello world");
- GenericTest<?> ge4 = ge3;
- System.out.println(ge4.getFoo());
- <FONT color=red>ge4.setFoo(null); // 这步为什么对了?
- </FONT>
- System.out.println(ge4.getFoo());
- //ge4.setFoo("welcome"); <FONT color=red> // 关键是这步为什么错了呢?
- </FONT>
- }
- }
复制代码 |