zoukankan      html  css  js  c++  java
  • 继承泛型类

    泛型的应用,包含通配符的理解,泛型继承该注意的点
     1 package 泛型;
     2 
     3 public class fanxing<T1,T2> {
     4     public T1 age;
     5     public T2 name;
     6     public static void main(String[] args){
     7     //通配符以及其上下线
     8     //通配符仅仅可以用于声明变量或者用于形参
     9     //不可用于泛型类、泛型接口、泛型方法
    10         son1<?,?> s = new son1<Integer,String>(10, "刘浩宇");
    11         s.hhhh(23,"yangbo");
    12     //
    13     }
    15     public void test(T2 name){       
    17     }    
    18 }
    19 //泛型的继承
    20 //1、保留泛型类型
    21 //1)全部保留
    22 class son1<T1,T2>  extends fanxing<T1,T2>{
    23     //当形参为除过T2类型时报错
    24     public son1 (T1 age,T2 name){
    25         this.age = age;
    26         this.name = name;
    27     }
    28     public void test(T2 name){    
    29         //this.age 为T1
    30     }
    31     //extends 用于通配符的上限,表示所有继承他的类以及他本身均可以
        //泛型方法的应用
    32 public <T extends Number,E extends String> void hhhh(T num, E str){ 33 System.out.println(num+"......"+str); 34 } 35 } 36 37 //2)部分保留,要求子类同时保留父类的泛型形参 38 class son2<T1> extends fanxing<T1, String>{ 39 //当形参为除过String类型外军报错 40 public void test(String name){ 41 //this.age 为T1 42 } 43 } 44 //2、不保留泛型类型 45 //1)具体类型 46 class son3 extends fanxing<String,Integer>{ 47 //形参只能为Integer类型 48 public void test(Integer name){ 49 //this.age 为String 50 } 51 } 52 //2)没有类型,成为object类 53 class son4 extends fanxing{ 54 //泛型擦除,没有为其制定泛型形参,默认等同于objec但又不同于object 55 public void test(Integer name){ 56 //this.age 为object 57 } 58 59 } //public son4 extends father<object,object>{},不完全等同于objec,不指定objec则不会进行类型的检查指定了以后则一定会进行检查

    总结:

      1、泛型子类保留泛型,子类也为泛型类,不保留泛型则按需进行实现;

      2、子类方法类型随父类而定

      3、子类中使用父类的属性随父类而定

      4、子类自己的方法和属性随自己而定

      5、通配符只能用来声明变量或形参,不能用于定义泛型接口、泛型方法、泛型类

    泛型特点:

      泛型没有多态  List<fruit> list = new List<apple>(); 该类型是错误的

      泛型没有数组,arraylist 是通过object对象进行操作的,进行值的返回时强制转换为所需的类型

      注意;泛型的擦除是指在实现时没有指定任何类型,不完全等同于objec

    人真是奇怪,非得走到最后一步,是不会觉悟的。但是到了最后一步,又觉得太晚了。
  • 相关阅读:
    hdu 2546 饭卡
    poj 2262 Goldbach's Conjecture
    poj 1287 Networking
    poj 2377 Bad Cowtractors
    poj 1789 Truck History
    poj 2349 Arctic Network
    poj 1258 Agri-Net
    acdream 20140730 D题
    hdu 1012 素数判定
    hdu 2098 分拆素数和
  • 原文地址:https://www.cnblogs.com/boWatermelon/p/6416925.html
Copyright © 2011-2022 走看看