美文网首页手写rxjava
RxJava-泛型详解及手写实现3

RxJava-泛型详解及手写实现3

作者: Laughing_G | 来源:发表于2019-10-04 15:26 被阅读0次

一、为什么使用泛型?

架构中看到泛型是最多的,为什么要用泛型呢?
1.运行时不确定类型;
2.类型安全;
3.消除强制转换;
4.提高虚拟机性能。

泛型T:任意类型,继承自Object,利用T t 声明的变量,方法只有Object方法。
那么代码中通常用泛型extends继承某个类型,这里的extends与常规的子类继承父类有什么区别吗?

泛型extends关键字说明
上图中的extends不是类继承里的那个extends,两个根本没有任何关联。图中的extends后的BoundingType可以是类,也可以是接口,意思是说,T是在BoundingType基础上创建的,具有BoundingType的功能,可能是JAVA开发人员不想再引入一个关键字,所以用已有的extends来代替而已。重点是能取不能存!!!

? extends Number
? super Number
这两者有什么区别呢?
1."? extends T" 表示类型的上界,表示参数化类型可能是T或者是T的子类,只能取,不能写
2."? super T" 表示类型的下界,Java core中叫超类型限定,表示参数化类型是此类型的超类型(父类型),甚至是Object。只能写,不能取

通配符讲解

二、RxJava手写实现

手写之前需要先确地几个角色:Observable:被观察者(顾客)、Oberserver观察者(厨师)、ObservableOnSubscribe(服务员);

2.1 Obervable:被观察者,事件的产生源:

被观察者示例图

2.2 ObervableOnSubscribe(服务员):观察者与被观察者连接的桥梁,本身起到发射器的作用,传递事件:

服务员实例图

2.3 Observer(观察者):事件的消费者:

观察者示例图

2.4 调用的简单实现:

手写测试实例图

Demo地址:
https://github.com/cWX411904/RxJavaDemo

相关文章

  • RxJava-泛型详解及手写实现3

    一、为什么使用泛型? 架构中看到泛型是最多的,为什么要用泛型呢?1.运行时不确定类型;2.类型安全;3.消除强制转...

  • java泛型详解

    java泛型详解 1. 概述 泛型在java中有很重要的地位,在面向对象编程及各种设计模式中有非常广泛的应用。 什...

  • 夯实JAVA基础之 - 泛型

    泛型的定义及使用 1. 定义泛型: 2. 类中使用泛型 3. 使用泛型类 4. 使用泛型的优势? 多泛型变量的定义...

  • 泛型

    Kotlin 泛型详解 声明一个泛型类 声明一个泛型方法 泛型约束 List 和 List 是...

  • Java-泛型

    - 1.泛型定义 - 2.泛型使用 - 3.泛型上下边界 - 4.JVM如何实现的泛型?   1、定义 Jdk1....

  • 泛型,复习

    Java泛型详解:和Class的使用。泛型类,泛型方法的详细使用实例 - LZJWXJ树袋熊 - CSDN博客

  • 008-自定义泛型,Collections

    自定义泛型 泛型类 代码实现 测试 泛型接口 代码实现 泛型方法 代码演示 测试 泛型上下边界 Collectio...

  • java 泛型

    java 泛型详解-绝对是对泛型方法讲解最详细的,没有之一

  • 详解Java泛型之4——一个例子理解泛型带来的好处

    前面我介绍了关于泛型、通配符以及泛型擦除的相关知识点,大家可以参考以下文章: 详解Java泛型之1——入门泛型必懂...

  • 详解Java泛型之3——十分钟理解泛型擦除

    前面我们介绍了泛型以及通配符的基础概念,可以参考文章: 详解Java泛型之1——入门泛型必懂的知识点[https:...

网友评论

    本文标题:RxJava-泛型详解及手写实现3

    本文链接:https://www.haomeiwen.com/subject/wgdxyctx.html