`

【Thinking in Java】一:对象导论

阅读更多

对象导论

1抽象过程

对象具有状态、行为和标识。每一个对象都可以拥有内部数据(例如:轮子的直径,宽度)、方法(它们产生行为),并且每一个对象都可以惟一地与其他对象区分开来,就是指每一个对象在内存中都有一个唯一的地址。

2 每个对象都有一个接口

Java怎么样获得有用的对象?
对对象请求,是对象完成各种任务,每个对象都只能满足某些请求,这些请求由对象的接口定义。
接口确定了对某一特定对象所能发出的请求。但是,在程序中必须有满足这些请求的代码,这些代码与隐藏的数据一起构成了实现。
向某个对象产生请求,对象便知道此消息的目的,然后执行对应的程序代码。

3 每个对象都提供服务

如果你是用Java去解决需求,比如订票,那么你的目标就是去创建(最好是在现有代码库中寻找)能够提供理想服务来解决问题的一系列对象。
下一步:如果我将问题从表象中抽取出来,那么什么样的对象能解决我的问题呢?
人们在设计对象时,将过多的功能塞在一个对象中。
在良好的面向对象设计中,每个对象都可以很好的去完成一项任务,但是它并不试图做更多的事。

4 被隐藏的具体实现

开发人员按角色分为类创建者和客户端程序猿,想大多数都是程序猿收集各种用来实现快速开发的类(各种jar)。
隐藏的部分通常代表对象内部脆弱的部分,可能会被使用者毁坏,隐藏起来可以减少bug,正是在此基础上Java采取了访问控制。
原因一:让客户端程序猿无法触及不应该触及的部分,这些部分对数据类型的内部操作是必需的,但并不是所有用户解决特定问题所需的接口的一部分。
原因二:允许库设计者可以改变内部的工作方式而不用担心会影响到客户端程序猿。
因此带来了三个关键字:public、private、protected
public:任何人都是可用的
private:只有类型创建者和内部方法可以
protected:与private关键字相当,差别仅在于继承的类可以访问protected成员
缺省型可以访问同一个包内的其他类成员。

5 继承和多态

一个基类(父类)来表示系统中某些对象的核心概念,从基类型中导出的其它类型,来表示此核心可以被实现的各种不同方式。
子类可以覆盖基类的方法,创建该方法的新定义。
子类看作基类视为向上转型,这就是多态的体现例如:List list = new ArrayList();

6 单根继承结构

终极基类Object,这样设计可以是所有对象都具有某些功能,比如toString(),你可以在每个对象上执行某些基本操作,所有对象都可以在堆上创建,参数传递也得到极大简化,并且使垃圾回收器的实现变得容易。

7 容器

List、Map、Set以及队列、树等,不同容器提供了不同的接口和外部行为,不同的容器对于某些操作具有不同的效率,如:
ArrayList 采用的是数组形式来保存对象的,这种方式将对象放在连续的位置中,所以最大的缺点就是插入删除时非常麻烦
LinkedList 采用的将对象存放在独立的空间中,而且在每个空间中还保存下一个链接的索引  但是缺点就是查找非常麻烦 要丛第一个索引开始

8 参数化类型

方便于从容器取出对象引用时,还要记住这些对象究竟是什么类型,才能向下转型。ArrayList<String>

9 对象的创建和生命周期

通过new关键字创建对象,垃圾回收机制可以发现对象何时不再被使用,从而销毁,避免了内存泄漏。

10 异常机制

异常提供了一种从错误情况中进行可靠恢复的途径,你可以进行校正,并恢复程序的执行,这都有利于编写出更健壮的代码。
Java的异常处理机制深入:http://blog.csdn.net/hguisu/article/details/6155636

0
3
分享到:
评论

相关推荐

    Thinking in Java 自学笔记——第一章 对象导论

    Thinking in Java 自学笔记——第一章 对象导论 本章节总结了面向对象程序设计(Object-oriented Programming, OOP)的基本概念和原则,以帮助读者更好地理解 Java 编程语言。以下是对标题、描述、标签和部分内容的...

    Thinking in java4(中文高清版)-java的'圣经'

    读者评论 前言 简介 第1章 对象导论 1.1 抽象过程 1.2 每个对象都有一个接口 1.3 每个对象都提供服务 1.4 被隐藏的具体实现 1.5 复用具体实现 1.6 继承 1.6.1 “是一个”(is-a)与“像是一个”(is-like-a)关系 ...

    Thinking in Java 自学笔记——第二章 一切皆对象

    ### Thinking in Java 自学笔记——第二章 一切皆对象 #### 重要概念解析 ##### 2.1 用引用操纵对象 在Java中,一切都被视为对象,这意味着无论是字符串、数字还是其他数据类型都可以被视为对象来进行操作。当...

    中文版Thinking in Java 4th编程思想(笔记)

    1. **对象导论** - **万物皆对象**:Java编程的核心是对象,它们既能存储数据,又能执行操作。对象是对现实世界中实体的抽象,如狗、建筑等。 - **消息传递**:程序中的对象通过互相发送消息来通信,消息实质上是...

    thinking in java

    《Thinking in Java》是Bruce Eckel的经典编程教材,它深入浅出地介绍了Java语言的核心概念和技术,对于初学者和有经验的程序员来说都是极好的学习资料。这本书涵盖了从基础语法到高级特性的全面讲解,包括面向对象...

    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 伴随多态的可互换...

    thinkinjava源码-Thinking-in-Java:ThinkingInJava源代码和练习题

    对象导论 第2章 一切都是对象 第3章 操作符 第4章 控制执行流程 第5章 初始化与清理(18年6月) 第6章 访问权限控制(18年6月) 第7章 复用类(18年6月) 第8章 多态(18年7月) 第9章 接口(18年10月) 第10章 内部类 第11章 ...

    java笔试题算法-Thinking-in-Java:《ThinkingInjava》-Note《Java编程思想》笔记作者:[美]Bruce

    第一章:对象导论 访问修饰符 继承 伴随多态的可互换对象 单继承结构 容器 参数化类型 对象的创建和生命周期 异常处理:处理错误 第二章:一切都是对象 用引用操纵对象 必须由你创建所有对象 存储到什么地方 特例:...

    Thinking_In_C#英文正式版

    第2章“Introduction to Objects”(面向对象导论)深入探讨了面向对象编程的概念,如类和对象的关系、接口和实现的分离、继承、多态和抽象类等。第3章“Hello, Objects”(你好,对象)介绍了对象的创建和引用,...

    java学习各阶段书籍指南

    1. 《Thinking in Java》:作为Java入门书籍,这本书着重于建立正确的概念,它能够帮助初学者理解Java语言的基本结构和特性。 2. 《Core Java》:这本书更注重实践,提供了许多API的介绍,并且由于Java的更新较快,...

    恒生电子JAVA笔试试题-Thinking-In-Java-Notes:ThinkinginJava学习笔记

    对象导论 一切都是对象 操作符 控制执行流程 初始化与清理 访问权限控制 复用类 多态 接口 内部类 持有对象 通过异常处理错误 字符串 类型信息 泛型 数组 容器深入研究 Java I/O系统 枚举类型 注解 并发 图形化用户...

    10来本java学习书籍

    6. **Thinking In Java(英文版 第四版).pdf**:Bruce Eckel的名作,全面介绍了Java语言,从基础到高级特性,包括面向对象设计、集合框架、多线程等,是学习Java的权威指南。 7. **计算机网络第五版谢希仁答案.doc...

    Java学习建议

    对于框架,SSH(Struts、Spring、Hibernate)是主流,分别对应《精通Struts:基于MVC的Java Web设计与开发》、《Struts2权威指南》、《精通Hibernate:Java对象持久化技术详解》和《spring2.0技术手册》。...

    有关JAVA的学习

    《Thinking in Java》是一本进阶书籍,内容相对较难,需要耐心和大量的练习。即使只理解70%,也足以提升你的JAVA水平,同时也能应对大多数面试中的JAVA知识问题。 对于JAVA的不同方向,如果是Web编程,需要学习HTML...

    给计算机专业大学生整理的书单.doc

    - 《算法:C语言实现》、《算法第四版(Java描述)》、《算法引论:一种创造性的方法》、《编程珠玑》、《算法概论》、《编程之美》提供了丰富的算法学习资源。 10. **算法分析与设计**: - 《算法引论:一种创造...

    JavaAdavance

    最后,《Thinking in Java》是一本经典的Java教程,由Bruce Eckel编写,强调面向对象的设计原则和实践。书中的章节涵盖了类、对象、接口、继承、多态、异常处理、集合框架、泛型、并发等主题。通过深入阅读和实践书...

    推荐书单之计算机专业

    - **Java程序设计**:包括了 **《Thinking in Java》、《Effective Java》** 等知名教材。 #### 七、数据结构与算法 - **《算法:C语言实现》**(第1~4部分):覆盖了基础知识、数据结构、排序以及搜索等方面的...

    编程入门学习

    在书籍的选择上,经典的教材往往经过时间的验证,如Java的“四大名著”——《Java编程语言》、《Thinking in Java》、《Effective Java》以及《Core Java》系列,这些书籍可以帮助你快速掌握Java的核心知识。...

Global site tag (gtag.js) - Google Analytics