Java编程思想-泛型-泛型方法

代码示例如下:

package generics;

//: generics/GenericMethods.java

public class GenericMethods<A> {

    // private static A element;

    public <T> void f(T x) {
        System.out.println(x.getClass().getName());
    }

    // public static void staticMethod(A x) {
    //
    // }

    public static void main(String[] args) {
        GenericMethods<String> gm = new GenericMethods<String>();
        gm.f("");
        gm.f(1);
        gm.f(1.0);
        gm.f(1.0F);
        gm.f('c');
        gm.f(gm);
    }
} /*
 * Output: java.lang.String java.lang.Integer java.lang.Double java.lang.Float
 * java.lang.Character GenericMethods
 */// :~

 

static方法无法访问泛型类的类型参数,举例如下:

上例中

private static A element;这段代码报错信息如下:

Cannot make a static reference to the non-static type A

##################

public static void staticMethod(A x) {

}

这个方法报错信息如下:

Cannot make a static reference to the non-static type A

 

java自动打包的概念是什么

posted @ 2014-11-29 11:01  唾手可得的树  阅读(305)  评论(0编辑  收藏  举报