- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Java编程思想笔记讲解
第1章 对象导论
面向对象程序设计(Object-oriented Programming,OOP)
1.1 抽象过程
面向对象语言的五个基本特性:
(1)万物皆为对象
(2)程序是对象的集合,它们通过发送消息来告知彼此所要做的
(3)每个对象都有自己的由其他对象所构成的存储
(4)每个对象都有其类型
(5)某一特特定类型的所有对象都可以接收同样的消息
对象具有状态、行为和标识
1.2 每个对象都有一个接口
对象都是唯一的,但同时具有相同的特性和行为的对象所归属的类的一部分。
类描述了具有相同特性(数据元素)和行为(功能)的对象集合。类实际上是一个数据类型。
程序设计挑战就是在问题空间的元素和解空间的对象之间创建一对一的映射。
接口确定了对某一特定对象所能发出的请求,决定接口的便是类型。过程概括为:向某个对象“发送消息”(产生请求),这个对象便知道此消息的目的,然后执行对应的程序代码。
1.3 每个对象都提供服务
对象即为“服务提供者”。(好处:提高内聚性)
1.4 被隐藏的具体实现
访问控制存在原因:
(1)让客户端程序员无法触及不应该触及的部分
(2)允许类设计者改变内部的工作方式而不用担心影响到客户端程序员
Java用于类内部设定边界:(访问指定词(access specifier))
public、private、protected和默认的访问控制(包访问权限)
1.5 复用具体实现
首先考虑使用组合。
1.6 继承
基类(超类或父类)
导出类(继承类或子类)
继承不仅包括现有类型的所有成员(private成员被隐藏,不可访问),而且复制了基类的接口。
基类和导出类产生差异的方法:一是添加新方法;二是覆盖(overriding)基类方法
1.6.1 “是一个”与“像是一个”关系
“是一个”(is-a)视为纯粹替代,称为“替代关系”
“像是一个”(is-like-a)具有旧类的接口,还包含其他方法
1.7 伴随多态的可互换对象
前期绑定:编译器将产生对具体函数名字的调用,而运行时,将这个调用解析到将要被执行代码的绝对地址。
后期绑定:Java使用一小段特殊的代码来替代绝对地址调用,这段代码中存储的信息来计算方法体的地址。(默认行为)
向上转型(upcasting)把导出类看做是它的基类的过程。
1.8 单根继承结构
终极基类的名字是Object
单根继承的优点:一是保证所有对象具有某些功能(Object所有方法);二是所有对象可以很容易地在堆上创建;三是简化参数传递。
1.9 容器
容器是在任何需要的时候都可以扩充自己以容纳你置于其中的所有东西。(List、Map、Set以及诸如队列、树、堆栈等)
使用不同容器的原因:一是不同容器提供了不同的接口和外部行为;二是不同容器对于某些操作具有不同的效率。
1.9.1参数化类型
Java SE5之前通过存储Object的容器可以存储任何东西,使得容器被复用,缺点是:当从容器取出对象时,还是必须要以某种方式记住这些对象究竟是什么类型,这样才能执行向下转型(除非确切知道所要处理的对象的类型,否则向下转型是不安全的)。
解决方案称为参数化类型机制,就是一个编译器可以自动定制作用于特定类型上的类。
1.10 对象的创建和生命期
使用对象时,最关键问题之一便是它们的生成和销毁方式。
对象数据存储位置:一是将对象置于堆栈或静态存储区域(效率高,灵活性差);二是堆(heap)的内存池中动态创建对象(存储空间运行时动态管理,需要大量时间在堆中分配空间)。Java采取动态内存分配方式。
对象的生命周期:Java提供了被称为“垃圾回收器”的机制,可以自动发现对象何时不再被使用,并继而销毁它。
1.11 异常处理:处理错误
异常是一种对象,它从出错地点被“抛出”,并被专门设计用来处理特定类型错误的相应的异常处理器“捕获”。
异常作用就是提供了一种从错误状态进行可靠恢复的途径。
1.12 并发编程
并发的概念就是把问题切分成多个可独立运行的部分(任务),从而提高程序的响应能力。在程序中,这种彼此独立运行的部分称之为线程。
并发存在的隐患:共享资源,解决方案:锁定资源,完成任务后,释放资源锁。
1.13 Java和Internet
1.13.1 Web是什么
1、客户/服务器计算技术
客户/服务器系统的核心思想是:系统具有一个中央信息存储池(central repository of information),用来存储某种数据,它通常存在于数据库中,可以根据需要将它分发给某些人或机器集群。(关键在于信息存储池的位置集中于中央,使得它可以被修改,并且这些修改将被传播给信息消费者)
信息存储池、用于分发信息的软件以及信息与软件所驻留的机器或机群被总称为服务器。
驻留在用户机器上的软件与服务器
您可能关注的文档
最近下载
- 建筑工程图集 11SG814:建筑基坑支护结构构造.pdf VIP
- 电商平台客户投诉处理协调配合措施.docx VIP
- 快速心律失常的急诊处理PPT课件.ppt VIP
- 标准图集-新型城镇化-智能灯杆.pdf VIP
- 11SG814 建筑基坑支护结构图集.docx VIP
- 2024年11月江苏苏州市中医医院(西苑医院苏州医院)招聘编外人员笔试笔试历年专业考点(难、易错点)附带答案详解 .doc
- 广西壮族自治区家庭经济困难学生认定申请表.doc VIP
- 大闽食品(漳州)有限公司企业标准.doc VIP
- 施工企业安全生产事故报告及处理制度.docx VIP
- 电商平台纠纷处理与客服投诉管理方案.docx VIP
文档评论(0)