IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> Java高级编程十:泛型的使用 -> 正文阅读

[移动开发]Java高级编程十:泛型的使用

第十章 泛型

1. 为什么要有泛型

  • 指定集合里边只能装某种数据类型
  • 编译时就会进行检查,防止类型错误
  • 异常类不能是泛型

2.泛型使用范例

public class DAO<T>{
    //表的共用操作
    //增删改查
}

public class StudentDAO extends DAO<Student>{
    //只能操作某一个表的DAO
}
  1. 泛型方法的使用
//当返回值类型不确定的时候可以使用泛型方法
public <E> e test(){}

3.泛型在继承方面的体现

3.1 泛型在继承方面的体现

  • 类 A 是类 B 的父类,E 和 E 二者不具备子父类关系,是两个并列的结构
  • 但是 A 是 B 的父类
List<Object> list = null;
List<String> li = null;
//不可以这么使用,此时的list和li不具有子父类关系
//list = li;

3.2 通配符的使用

  • 通配符 ?
@Test
public void test(){
    List<Object> list1 = null;
    List<String> list2 = null;
    List<?> list = null;
    
    list = list1;
    list = list2;
}
//List<?> 只可以添加null 其他都不可以添加
  • 有限制条件的通配符

? extends A:

? G<? extends A> 可以作为 G 和 G 谷类的,其中B 是 A 的子类

? super A:

G<? extends A> 可以作为 G 和 G 谷类的,其中B 是 A 的父类

public class Person{}
class Student extends Person{}
class Test{
    @Test
    public void test(){
        List<? extends Person> list = null;
        List<? super Person> list2 = null;
        
        List<Student> s = null;
        List<Person> p = null;
        List<Object> o = null;
        
        list = s;
        list = p;
        //不可以
        //list = o;
        //不可以
        //list2 = s;
        list2 = p;
        list2 = o; 
    }
}
  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2022-03-10 22:41:17  更:2022-03-10 22:44:19 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 18:42:41-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码