java面向对象 泛型

这个第一篇知识梳理的博客,希望我可以坚持下去将知识进行总结。

这是在极客学院里看到的视频,目录如下,蛮清晰的。然后我将视频中所说再记忆下。

java面向对象之泛型:认识泛型

  Java SE 1.5的新特性,泛型的本质是参数化类型,可以代表任何数据类型。

java面向对象之泛型:构造函数中使用

  class Gen<T>{

      private T value;

      Gen(T value){//构造函数中就泛型就不需要用尖括号了

        this.value=value;

    }

      public void setValue(T t){

        this.value=t;

      }

      public T getValue(){

       return this.value;

      }

  }

public Class Demo(){

  public static void main(String[] args){

    Gen<String> g = new Gen<String>("test");

    //输出  g.getValue();

  }

}

java面向对象之泛型:指定多个泛型(一般就两个)

  

 class Gen<T,K>{

      private T take;

      private K key;

      Gen(T take,K key){//构造函数中就泛型就不需要用尖括号了

        this.take=take;

        this.key=key;

    }

     //...set  get方法

  }

public Class Demo(){

  public static void main(String[] args){

    Gen<String,Integer> g = new Gen<String,Integer>();

    g.setTake("test");

    g.setKey(10);

  }

}

java面向对象之泛型:通配符

  当要在方法中给参数指定泛型时,用“?”表示,比如因为参数是Info<T>

java面向对象之泛型:泛型接口

  接口名称后面加<T>

  interface Gen<T>{

    public void say();

  }

 1. Class GenImpl implements Gen<String>{

  public void say(){

    }

  }

  2.Class GenImpl<T> implements Gen<T>{

  public void say(){

    }

  }

  在具体使用GenImpl的时候指定数据类型

java面向对象之泛型:泛型方法

  public <T> T 方法名 (T t)

  返回T类型为调用时赋值类型,int i = tell(10);

java面向对象之泛型:泛型数组

public static <T>void tell(T arr[]){

  for(int i=0;i<arr.length;i++){

    system.out.print(arr[i])

  }

}

Integer arr[]={1,2,3,4};

tell(arr);

 

http://blog.csdn.net/flfna/article/details/6576394

posted on 2016-06-27 21:52  小幸子  阅读(311)  评论(1编辑  收藏  举报

导航