泛型方法是指调用该方法时才声明泛型类型。即不用和泛型类的泛型类型一致。
当为实例泛型方法时,可以声明类为泛型类或者将该方法声明为泛型方法。
当有静态泛型方法时,只能将该方法声明为泛型方法。
泛型类可以继承泛型类,也可以继承是具有泛型方法的类。
注意两个泛型类型不冲突,重名也不冲突,泛型方法可以是任意类型的泛型,在调用时确定。
package com.liuheizi.demo;
class A {public <T> void a(T t) {System.out.println(t);}
}
class B<T> extends A{public void c() {System.out.println(1);}public void d(T t) {System.out.println(1);}
}
public class TestDemo5 {public static void main(String[] args) {B<Integer> b = new B<>();b.<Float>a((float) 1.1);}
}
当为静态方法时:
将类声明为泛型类时会报错
正确做法是将此方法声明为泛型方法:
?号即通配符,用于只读情况下,一般泛型用于写。