【javase07~泛型】

【部分内容来自网络,侵删】

泛型

泛型,即“参数化类型”。就是将类型由原来的具体的类型参数化,类似于方法中的变量参数,此时类型也定义成参数形式(可以称之为类型形参),然后在使用/调用时传入具体的类型(类型实参)。
泛型的本质是为了参数化类型(在不创建新的类型的情况下,通过泛型指定的不同类型来控制形参具体限制的类型)。也就是说在泛型使用过程中,
操作的数据类型被指定为一个参数,这种参数类型可以用在类、接口和方法中,分别被称为泛型类、泛型接口、泛型方法。

泛型方法

<泛型声明> 返回值类型 方法名(泛型 变量名){
    ...
}
public class Demo1 {
    public static <T> T method (T obj){
        return obj;
    }
}

泛型类

class 类名称 <泛型标识>{
  private 泛型标识  var; 
  ...
}
public class Demo2<T> {
    private T attr;

    public Demo2(T attr) {
        super();
        this.attr = attr;
    }

    public T getAttr() {
        return attr;
    }

    public void setAttr(T attr) {
        this.attr = attr;
    }
}

泛型接口

//定义一个泛型接口
public interface Generator<T> {
    public T next();
}

泛型通配

  1. 通配符(?)
    上面有泛型的定义和赋值;当在赋值的时候,上面一节说赋值的都是为具体类型,当赋值的类型不确定的时候,我们用通配符(?)代替了。
  2. 上边界通配<? extends E>
    使用固定上边界的通配符的泛型, 就能够接受指定类及其子类类型的数据. 要声明使用该类通配符, 采用<? extends E>的形式, 这里的E就是该泛型的上边界.
  3. 下边界通配<? super E>
    使用固定下边界的通配符的泛型, 就能够接受指定类及其父类类型的数据. 要声明使用该类通配符, 采用<? super E>的形式, 这里的E就是该泛型的下边界.
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容