泛型类定义的泛型,在整个类中有效,如果被方法使用,泛型类对象明确要操作的具体类型后,所有要操作的类型就固定了。 - public class Demo<T> {
- public void show(T t){
- System.out.println("show:"+t);
- }
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- Demo<String> d =new Demo<String>();
- d.show("a");
- }
- }
复制代码为了让不同方法操作不同类型,而类型不确定,可以讲泛型定义在方法上。 - public class Demo1 {
- public <T> void show(T t){
- System.out.println("show:"+t);
- }
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- Demo d =new Demo ();
- d.show("a");
- d.show(4);
- }
复制代码- 静态方法不可以访问类定义的泛型。如果静态方法操作的引用数据类型不确定,可以将泛型定义在方法上。
复制代码
- public class Demo<T> {
- public void show(T t){
- System.out.println("show:"+t);
- }
- public static<W> void method(W t) {
- System.out.println(t);
- }
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- Demo<String> d =new Demo<String>();
- d.show("a");
- d.method(4);
- }
- }
复制代码
|