范型

范型就是不指定类型,用的时候在指定类型
<T,K>
使用场景

public static class Point<T> {   
 private T x;   
 private T y;  
 public T getX() {  
      return x; 
   } 
 public T getY() {  
      return y;    
   }    
 public void setX(T x) {   
      this.x = x;
   }  
 public void setY(T y) {    
      this.y = y;
   }
}
Point<String>p = new Point<String>();
p.setX("jingdu :109");
p.setY("weidu: 110");
System.out.println("x="+ p.getX()+" y="+p.getY());

用在构造函数中

class Con<T>{  
  public T value;  
  public Con (T value){    
    this.value = value;  
  }  
  public T getValue(){     
   return value;  
  }   
  public void setValue(T value){   
     this.value = value;    
  }
}

Con con = new Con<String>("构造方法中使用范性") ;
System.out.println(con.getValue());


class  Gen<K,T>{
    private  T take;
    private  K key;
    public T getTake() {
        return take;
    }
    public void setTake(T take) {
        this.take = take;
    }
    public K getKey() {
        return key;
    }
    public void setKey(K key) {
        this.key = key;
    }
}

Gen<String,Integer>g = new Gen<String, Integer>();
g.setTake(10);
g.setKey("jjjjjj");
System.out.println(g.getTake()+g.getKey());



class Info<T>{
    private T key;
    public T getKey() {
        return key;
    }
    public void setKey(T key) {
        this.key = key;
    }
    @Override
    public String toString() {
        return this.getKey().toString();
    }
}

public static void tell(Info<?> i){
    System.out.println(i);
}
Info<String>i = new Info<String>();
i.setKey("jjjjj");
tell(i);


interface GenInter<T>{
    public void say();
}
class Gin implements GenInter<String>{
    private String info;
    public Gin(String info) {
        this.info = info;
    }
    public String getInfo() {
        return info;
    }
    public void setInfo(String info) {
        this.info = info;
    }
    @Override
    public void say() {
    }

Gin g = new Gin("jkdjdkja");
System.out.println(g.getInfo());

class Gener{
    public <T>T tell(T t){
        return t;
    }
}
Gener g = new Gener();
String str = g.tell("kjlj;");
System.out.println(g.tell(str));
int i = g.tell(1);
System.out.println(g.tell(i));



public static <T>void tell(T arr[]){
    for (int i = 0; i <arr.length; i++){
        System.out.println(arr[i]);
    }
}
String arr[]={"23","23432","ddf"};
tell(arr);

推荐阅读更多精彩内容

  • 目录 一. 泛型概念的提出(为什么需要泛型)? 二.什么是泛型? 三.自定义泛型接口、泛型类和泛型方法 四.类型通...
    minminaya阅读 603评论 0 8
  • 前言 人生苦多,快来 Kotlin ,快速学习Kotlin! 什么是Kotlin? Kotlin 是种静态类型编程...
    橘之缘之空阅读 23,359评论 9 118
  • 暖心散文集散文随笔专题投稿 文丨蔷薇下的阳光 俗语说,“吃了端午棕,还要冻三冻。”果真如此,过了端午,过了六一,淅...
    蔷薇下的阳光阅读 402评论 6 15
  • 去流浪吧,别把孤独带回家去流浪吧,让所有消极消散了吧看人流奔跑在我走过的世界里让我去消化一场夜雨的寂寞 路上的灯火...
    郁衡子阅读 168评论 8 7