`
royakon
  • 浏览: 7980 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

对象导论笔记-第四天 单根继承 容器 范型

    博客分类:
  • java
阅读更多

1.8单根继承结构

在OOP中,自C++面试以来就已经变得非常瞩目的一个问题就是:是否所有的类最终都继承自单一的基类。在Java中,答案就是:YES,这个终极基类就是Object

单根继承结构保证所有对象都具备某些功能。因此你知道,在你的系统中你可以在每个对象上执行某些基本操作。所有对象都可以很容易地在堆上创建,而参数传递也得到了极大的简化。

单根继承结构是垃圾回收器的实现变得容易得多,而垃圾回收器正是Java相对于C++的重要改进之一。由于所有对象都保证具有其类型信息,因此不会因无法确定对象的类型而陷入僵局。这对于系统级操作(如异常处理)显得尤其重要,并且给编程带来了更大的灵活性。

1.9容器

通常来说,如果不知道在解决某个特定问题时需要多少个对象,或者他们将存活多久,那么就不可能知道如何存储这写对象。这个问题的最简单的解决方案:创建另一种对象类型。通常被称为容器。在Java中,具有满足不同需要的各种类型的容器,例如:

  • List(用于存储序列)
  • Map(也被称为关联数组,用来建立对象之间的关联)
  • Set(没中对象类型只持有一个)

对容器有所选择有两个原因:

  1. 第一,不同容器提供了不同类型的借口和外部行为。
  2. 第二,不同容器对于某些操作具有不同的效率。

1.9.1参数化类型(范型)

在Java SE5出现之前,容器存储的对象都只具有Java中的通用类型:Object。要使用这样的容器,只需要在其中置入对象引用。但是由于容器只存储Object,所以当将对象引用置入容器时,它必须被向上转型(泛化)为Object而丢失其身份。这样就产生了问题:当把它取回时,怎样才能将它便会先前置入容器时具有实用借口的对象呢?这里再度用到了转型,这种转型的方式称为向下转型。注意:除非确切的知道索要处理的对象的类型,否则向下转型几乎是不安全的

那么,创建这样的容器,它知道自己所保存的对象的类型,从而不需要向下转型以及消除犯错误的可能,这样不是更有意义吗?这种解决方案被车给你为参数化类型机制。参数化类型就是一个编译器可以自动定制作用与特定类型上的类。

Java SE5的重大变化之一就是增加了参数化类型,在Java中它称为范型

 

ArrayList<Shape> shapes = new ArrayList<Shape>();
 

本文首发自:对象导论笔记-蜘蛛网间

0
2
分享到:
评论

相关推荐

    编译原理课件导论--总体编译过程介绍

    编译原理导论,总体介绍了编译系统的总过程与步骤。 1.1 什么是编译程序 1.2 编译过程和编译程序的结构 1.3 解释程序和一些软件工具 1.4 程序设计语言范型 本章没有难以理解的内容,重点对编译程序的功能和结构做一...

    xxxspy#eprime#数据分析服务-M-plus-线性规划典范型.11

    线性规划典范型:在标准型的线性规划问题中,如果每一个约束方程都存在某一个系数恰好为1的变量,并且这个变量不再在其它约束方程中出现,则这些变量就是基变量,其余的变

    分布式系统-原理与范型(第2版)

    分布式系统-原理与范型(第2版) 分布式系统-原理与范型(第2版) 分布式系统-原理与范型(第2版) 分布式系统-原理与范型(第2版)

    论文研究-消息传递范型与C/S范型双范型的主数据管理机制 .pdf

    消息传递范型与C/S范型双范型的主数据管理机制,陈晓云,邢乔金,本文针对主数据管理(MDM)存在的问题提出了一种基于消息传递机制范型与C/S范型双范型的主数据管理机制,当各个分系统的数据有所变化�

    分布式系统原理与范型

    《分布式系统原理与范型》是分布式系统中的经典教材,全书分为两部分:原理和范型。第一部分详细讨论了分布式系统的原理、概念和技术,其中包括通信、进程、命名、同步、一致性和复制、容错以及安全。第二部分给出了...

    java程序设计教程

    java程序设计教程PPT-2-类型、变量和表达式-3-流程控制-4-数组-5-算法设计基础-6-对象和类-7-继承和接口-8-范型、枚举和内部类-9-异常-10-集合-11-常用类及开源工具-12-基本输入输出处理-13-多线程ppt

    Distributed Systems 3 - 《分布式系统原理与范型》第三版 英文原版

    Distributed Systems: Principles and Paradigms 3,第三版,分布式 by Andrew S. Tanenbaum and Maarten van Steen 《分布式系统原理与范型》第三版,英文原版

    第9章 范型和容器类.ppt

    第9章 范型和容器类.ppt第9章 范型和容器类.ppt

    数组、集合对象和范型

    C#数组、集合对象和范型,讲解详细,对于编程很实用

    thinking in Java 第四版中文 part1

    第1章 对象导论 1.1 抽象过程 1.2 每个对象都有一个接口 1.3 每个对象都提供服务 1.4 被隐藏的具体实现 1.5 复用具体实现 1.6 继承 1.6.1 “是一个”(is-a)与“像是一个”(is-like-a)关系 1.7 伴随多态的可互换...

    分布式系统-原理与范型(第2版) 完整版

    第2~9章讨论的是分布式系统的的原理、概念和技术,包括通信、进程、命名、同步化、一致性和复制、容错性以及安全性等,而分布式应用的开发方法(即范型)在第10~13章中进行了讨论。但是,与前一版不同的是,我们...

    C++多范型设计

    C++多范型设计,ISBN:9787508318240,作者:(美)James O.Coplien著;鄢爱兰,周辉等译;鄢爱兰译

    C++多范型设计 作者:[美]James O.Coplien

    第4章解释如何使用领域分析来找到应用领域中的抽象。第5章说明怎样将领域工程的原则用作对象范型的抽象技术的基础。第6章应用“分析”来描述“方案领域”的特征,并且将C++结构放到形成共同性和差异性基础的正式...

    Java 范型Java 范型.doc

    Java 范型Java 范型

    范型程序设计与 STL.pdf

    范型程序设计与 STL.pdf,大小约 300K。

    java1.5范型编程指南

    java1.5范型编程指南.docjava1.5范型编程指南.docjava1.5范型编程指南.docjava1.5范型编程指南.docjava1.5范型编程指南.doc

    《分布式系统原理与范型》.pdf

    《分布式系统原理与范型》第一版.中文版,影印版。

    分布式系统原理与范型第二版课后习题答案

    分布式系统原理与范型第二版课后习题答案 分布式系统原理与范型第二版课后习题答案 分布式系统原理与范型第二版课后习题答案 分布式系统原理与范型第二版课后习题答案

Global site tag (gtag.js) - Google Analytics