A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© July.W 初级黑马   /  2018-12-27 11:30  /  681 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本期为大家分享的是 泛型的定义和使用
泛型可以在类或方法中预支地使用未知的类型
好处:
1. 将运行时期的ClassCastException,转移到了编译时期变成了编译失败
2. 避免了类型强转的麻烦
使用:
泛型类
    格式:修饰符 class 类名<代表泛型的变量> {  }
    范例:
      public class MyGenericClass<MVP> {
                ....
      }
   使用:在创建对象的时候确定泛型
         MyGenericClass<String> my = new MyGenericClass<String>();
泛型接口
    格式:修饰符 interface接口名<代表泛型的变量> {  }
    范例:
         public interface MyGenericInterface<E>{  }
    使用:
1. 定义类时确定泛型的类型
    public class MyImp1 implements MyGenericInterface<String> { }
2. 始终不确定泛型的类型,直到创建对象时,确定泛型的类型
              MyImp2<String>  my = new MyImp2<String>();
泛型变量
    格式:修饰符 泛型 代表泛型的变量;
    范例:
          private MVP mvp;
    使用:
          my.mvp;
泛型方法
    格式:修饰符 <代表泛型的变量> 返回值类型 方法名(参数){  }
    范例:
         public <MVP> void show(MVP mvp) {
                  System.out.println(mvp.getClass());
         }
    使用:调用方法时,确定泛型的类型
          my.show("aaa");
注意:
1. 一般在创建对象时,将未知的类型确定具体的类型。当没有指定泛型时,默认类型为Object类型。
2. 泛型的通配符:不知道使用什么类型来接收的时候,此时可以使用?,?表示未知通配符。

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马