Java泛型类定义,与泛型方法的定义使用
package com.srie.testjava;

public class TestClassDefine<T, S extends T> {

    public static void main(String[] args) {
        // 不能在静态方法内部使用泛型类型;
        // Cannot make a static reference to the non-static type T
        // T t = new T();
        TestClassDefine<String, String> tcd = new TestClassDefine<String, String>();

        tcd.write(123); // 这里用的是方法的泛型;
        // tcd.write2(345); // write2方法用的是类的泛型,不能输入数字作为参数;
    }

    // The type parameter T is hiding the type T
    // 方法的T覆盖了类型的T,此处会有warning
    public <T> void write(T t) {
        System.out.println(t);
    }

    public void write2(T t) {
        System.out.println(t);
    }
}