美文网首页Android技术知识Android开发经验谈
《java编程思想 泛型》——空对象

《java编程思想 泛型》——空对象

作者: 每天学点编程 | 来源:发表于2017-08-05 09:20 被阅读0次

null进行操作会报空指针异常,null没有任何的行为。

空对象的概念

空对象有所代表对象的所有方法,如果调用空对象上的方法会返回表示无效的值。

空对象的用途

表示问题领域实体的对象

空对象的不足

有时候还是必须检查对象是否为空对象

空对象例子——创建空对象

空对象一般是单例,
使用单例可以直接使用equals(Person.NULL)==Person.NULL

空对象例子——使用空对象

如果职位还没有招到人则person为空对象:

通过检查职位的person属性是否为空对象来判断职位是否空缺:

请仔细观察,代码有些地方还是需要检查对象是否为空对象,不过有些地方就不需要,比如toString

自动创建空对象的例子——要求

如果使用的是接口则可以通过动态代理创建空对象。

自动创建空对象的例子——准备

自动创建空对象的例子——动态代理

模拟对象和桩

模拟对象和桩是空对象的变种。

模拟对象和桩的区别

区别在于程度。Mock Objects是轻量级和自测的,每个测试场景都会创建对应的Mock Object。
桩是重量型的和在测试中可以重复使用的。

相关文章

  • 《java编程思想 泛型》——空对象

    对null进行操作会报空指针异常,null没有任何的行为。 空对象的概念 空对象有所代表对象的所有方法,如果调用空...

  • java 泛型解析

    Java 泛型 1、泛型的精髓是什么 2、泛型方法如何使用 概述: 泛型在java中具有重要地位,在面向对象编程模...

  • Java编程思想---泛型(3)

    Java编程思想---泛型(3) 泛型带来的各类问题 任何基本类型都不能作为类型参数 Java泛型的限制之一是不能...

  • Java 中的泛型

    1、泛型的概述: 1.1 泛型的由来 根据《Java编程思想》中的描述,泛型出现的动机:有很多原因促成了泛型的出现...

  • java中泛型(上)

    本文参考了java核心卷1中泛型程序设计该章节和java编程思想第15章。 泛型即适用于许多许多的类型。泛型最初的...

  • Java编程思想---泛型(2)

    Java编程思想---泛型(2) 类型擦除 先上例子: ArrayList< String >与ArrayList...

  • java泛型详解

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

  • Java 泛型

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

  • Java编程思想—泛型(1)

    Java编程思想---泛型(1) 泛型 简单使用 三个Holder进行对比,引出类型参数的概念 元组类库 前面的例...

  • java泛型中类型擦除的一些思考

    java泛型 java泛型介绍 java泛型的参数只可以代表类,不能代表个别对象。由于java泛型的类型参数之实际...

网友评论

    本文标题:《java编程思想 泛型》——空对象

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