范型

范型就是不指定类型,用的时候在指定类型
<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阅读 1,062评论 0 9
  • 前言 人生苦多,快来 Kotlin ,快速学习Kotlin! 什么是Kotlin? Kotlin 是种静态类型编程...
    任半生嚣狂阅读 26,276评论 9 118
  • 最近在群里看见有些高三汪表露焦急,以及对基础的渴望。嗯,我想试着讲讲我现在的故事,不知是否让你有一点点感触。 我曾...
    不是hero1998阅读 401评论 0 2
  • 暖心散文集散文随笔专题投稿 文丨蔷薇下的阳光 俗语说,“吃了端午棕,还要冻三冻。”果真如此,过了端午,过了六一,淅...
    蔷薇下的阳光阅读 631评论 6 15
  • 去流浪吧,别把孤独带回家去流浪吧,让所有消极消散了吧看人流奔跑在我走过的世界里让我去消化一场夜雨的寂寞 路上的灯火...
    郁衡子阅读 322评论 8 7