泛型的使用

public class Test1 {
    public static void main(String[] args) {
        Test2<String> test2 = new Test2<String>();
        Test2<Integer> test21 = new Test2<Integer>("name",12,34);
        test2.setEve("yeye");
        System.out.println(test2);
        System.out.println(test21);
        System.out.println("============================================");
        DTest test =  new DTest();//DTest类是一个普通类,不是泛型类
        test.setEve(6);
        System.out.println(test);
        System.out.println("=============================================");
        DTest1<Object> objectDTest1 = new DTest1<>();//DTest1类是一个是泛型类
        objectDTest1.setEve("ya");
        System.out.println(objectDTest1);
        objectDTest1.setEve(12);
        System.out.println(objectDTest1);
    }
}
//自定义的泛型类
class Test2<T> {
    String name;
    int age;
    T eve;

    public T getEve() {
        return eve;
    }

    public void setEve(T eve) {
        this.eve = eve;
    }

    public Test2() {
        //如果要造一个T类型的数组,不可以:
//        T[] arr = new T[10];
        T[] arr = (T[]) new Object[10];
    }

    public Test2(String name, int age, T eve) {
        this.name = name;
        this.age = age;
        this.eve = eve;
    }

    @Override
    public String toString() {
        return "name='" + name + '\'' +
                ", age=" + age +
                ", eve=" + eve ;
    }
}

//泛型类的子类
class DTest extends Test2<Integer>{};
class DTest1<T> extends Test2<T>{};

 

上一篇:linux-pipe通信实现 ps aux | grep [key]


下一篇:EVE-NG 安装和使用过程中出现的问题