1.8单根继承结构
在OOP中,自C++面试以来就已经变得非常瞩目的一个问题就是:是否所有的类最终都继承自单一的基类。在Java中,答案就是:YES,这个终极基类就是Object
单根继承结构保证所有对象都具备某些功能。因此你知道,在你的系统中你可以在每个对象上执行某些基本操作。所有对象都可以很容易地在堆上创建,而参数传递也得到了极大的简化。
单根继承结构是垃圾回收器的实现变得容易得多,而垃圾回收器正是Java相对于C++的重要改进之一。由于所有对象都保证具有其类型信息,因此不会因无法确定对象的类型而陷入僵局。这对于系统级操作(如异常处理)显得尤其重要,并且给编程带来了更大的灵活性。
1.9容器
通常来说,如果不知道在解决某个特定问题时需要多少个对象,或者他们将存活多久,那么就不可能知道如何存储这写对象。这个问题的最简单的解决方案:创建另一种对象类型。通常被称为容器。在Java中,具有满足不同需要的各种类型的容器,例如:
- List(用于存储序列)
- Map(也被称为关联数组,用来建立对象之间的关联)
- Set(没中对象类型只持有一个)
对容器有所选择有两个原因:
- 第一,不同容器提供了不同类型的借口和外部行为。
- 第二,不同容器对于某些操作具有不同的效率。
1.9.1参数化类型(范型)
在Java SE5出现之前,容器存储的对象都只具有Java中的通用类型:Object。要使用这样的容器,只需要在其中置入对象引用。但是由于容器只存储Object,所以当将对象引用置入容器时,它必须被向上转型(泛化)为Object而丢失其身份。这样就产生了问题:当把它取回时,怎样才能将它便会先前置入容器时具有实用借口的对象呢?这里再度用到了转型,这种转型的方式称为向下转型。注意:除非确切的知道索要处理的对象的类型,否则向下转型几乎是不安全的。
那么,创建这样的容器,它知道自己所保存的对象的类型,从而不需要向下转型以及消除犯错误的可能,这样不是更有意义吗?这种解决方案被车给你为参数化类型机制。参数化类型就是一个编译器可以自动定制作用与特定类型上的类。
Java SE5的重大变化之一就是增加了参数化类型,在Java中它称为范型。
ArrayList<Shape> shapes = new ArrayList<Shape>();
本文首发自:对象导论笔记-蜘蛛网间
分享到:
相关推荐
编译原理导论,总体介绍了编译系统的总过程与步骤。 1.1 什么是编译程序 1.2 编译过程和编译程序的结构 1.3 解释程序和一些软件工具 1.4 程序设计语言范型 本章没有难以理解的内容,重点对编译程序的功能和结构做一...
线性规划典范型:在标准型的线性规划问题中,如果每一个约束方程都存在某一个系数恰好为1的变量,并且这个变量不再在其它约束方程中出现,则这些变量就是基变量,其余的变
分布式系统-原理与范型(第2版) 分布式系统-原理与范型(第2版) 分布式系统-原理与范型(第2版) 分布式系统-原理与范型(第2版)
消息传递范型与C/S范型双范型的主数据管理机制,陈晓云,邢乔金,本文针对主数据管理(MDM)存在的问题提出了一种基于消息传递机制范型与C/S范型双范型的主数据管理机制,当各个分系统的数据有所变化�
《分布式系统原理与范型》是分布式系统中的经典教材,全书分为两部分:原理和范型。第一部分详细讨论了分布式系统的原理、概念和技术,其中包括通信、进程、命名、同步、一致性和复制、容错以及安全。第二部分给出了...
java程序设计教程PPT-2-类型、变量和表达式-3-流程控制-4-数组-5-算法设计基础-6-对象和类-7-继承和接口-8-范型、枚举和内部类-9-异常-10-集合-11-常用类及开源工具-12-基本输入输出处理-13-多线程ppt
Distributed Systems: Principles and Paradigms 3,第三版,分布式 by Andrew S. Tanenbaum and Maarten van Steen 《分布式系统原理与范型》第三版,英文原版
第9章 范型和容器类.ppt第9章 范型和容器类.ppt
C#数组、集合对象和范型,讲解详细,对于编程很实用
第1章 对象导论 1.1 抽象过程 1.2 每个对象都有一个接口 1.3 每个对象都提供服务 1.4 被隐藏的具体实现 1.5 复用具体实现 1.6 继承 1.6.1 “是一个”(is-a)与“像是一个”(is-like-a)关系 1.7 伴随多态的可互换...
第2~9章讨论的是分布式系统的的原理、概念和技术,包括通信、进程、命名、同步化、一致性和复制、容错性以及安全性等,而分布式应用的开发方法(即范型)在第10~13章中进行了讨论。但是,与前一版不同的是,我们...
C++多范型设计,ISBN:9787508318240,作者:(美)James O.Coplien著;鄢爱兰,周辉等译;鄢爱兰译
第4章解释如何使用领域分析来找到应用领域中的抽象。第5章说明怎样将领域工程的原则用作对象范型的抽象技术的基础。第6章应用“分析”来描述“方案领域”的特征,并且将C++结构放到形成共同性和差异性基础的正式...
Java 范型Java 范型
范型程序设计与 STL.pdf,大小约 300K。
java1.5范型编程指南.docjava1.5范型编程指南.docjava1.5范型编程指南.docjava1.5范型编程指南.docjava1.5范型编程指南.doc
《分布式系统原理与范型》第一版.中文版,影印版。
分布式系统原理与范型第二版课后习题答案 分布式系统原理与范型第二版课后习题答案 分布式系统原理与范型第二版课后习题答案 分布式系统原理与范型第二版课后习题答案