`
狂奔蜗牛
  • 浏览: 19393 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
社区版块
存档分类
最新评论

Think in Java 2 理解笔记 第一章 对象导论

    博客分类:
  • J2SE
阅读更多
think in java 哈哈,开始读了。前言跳过,让作者去BS吧!第一章看下来什么收获都没有看不懂!各位大牛多多帮助

抽象化的过程
1.万事物皆对象。 从何说起呢。我就当着人是一个对象 对象属性:手,脚,头,头发,眼睛,耳朵等,对象方法:吃饭,喝水,上班,拿工资,坐车,ML等。
2.程序便是成堆的对象,彼此能过消息的传递,请求其对象进行工作。当关一个公司吧,项目经理对一个小弟:“小张”(发出消息) ,小张收到:在,你有什么事吗?经理说:去帮我倒杯茶来。小张收到就行动了!
3.每个对象都拥有由其它对象所构成记忆。不太理解,像人与黑猩猩与其动物。所有的部分相同之处吗?
4.每个对象皆有其型别(type)。Class 如人(至少男人和女人应该为两个不同的类吗?我想男女是一个属性吧)
5.同一型别的所有对象接受的消息皆相同。这个人不能用了。用同类电脑吧,接收的命令都一样,死东东。 没有一定的规定他们怎么看得懂呢?

每个对象都是接口
人 Class --data type 记录一个人要数据表示吧,但人 说话,吃饭,穿衣服,睡觉。这等等的行为,要用一个东东来定,--接口,但它又不知道你穿什么衣服,只知道你要穿衣。所有就定人的规定行为。 人是对象。所以其它的也对象其它对象也类似

被隐藏的实现的细节
这就是隐私了,玩游戏不能让老爸老妈知道可以让同学,兄弟知道。当然还有一些绝地的个人空间保密,对象也是一样,public 全公开,private 本对象绝对保密 protected 友好。带血缘关系。<不写默认default> 同包package,即邻居之类吧!

重复运用实现码
要造车子,宝马,和 丰田 都要轮子,先做了一个丰田轮子的模型,开始生产。宝马拿来模型改改不就可以了

继承:重复运用接口
继承可以运用到超类(父类/基类)的接口(方法)。

是一个(is-a)vs 像是一个(is-like-a)
is-a base class(基类)和子类之间接口一致,is-like-a 子类比父类新生多出来的属性和接口

随多态而生的互换对象
non-OOP编译器所产生的函数调用(认为是编译器存了,代码段的编译绝对地址)--前期绑定
OOP中,是当给对象发出消息即调用时,才会知道动态的调用那段代码,不加关键字,JAVA默认是后期绑定。至于继承子类重再向上转型,向下转型,这东东还要慢慢体会,这就是多态,后期绑定。

抽象基类与接口
抽象基类ab--经理,一般的事都不干,只是规定做某事必须按他的方法去做,但关于钱的一此大事嘛,自己动手了,至于你理不理解,想不想重干就不管了。
接口--老总 只要你在他公司干,他的规定你就得会部按着做。(好像做个接口,嘿嘿)

对象的形貌与寿命
对象的生成(created)和毁灭(destroyed)
对象如果存在stack(栈)中,或静态常量区,程序倒还知道它存在的时间。但如象对象在heap(堆)中,因为是在程序运行时才知道对象的状态,所以不知道它要存在多久。JAVA对象就是存在堆中,产生对象,用NEW 关键字,干掉对象。那只有GC(拉圾回收器) 去干了。

群集和迭代器
群集(collection)又叫容器(container)如:vector ArryList linkedList sets等。。。
迭代器(iterator) 就是对容器的遍历等一些“通用”操作,老方式用Enumeration枚举

单根继承体系
C++多根继承,有多个base class 这个关系太复杂了。有多个爸爸和妈妈,多惨
JAVA单根继承,一个class 只有一个base class 多个孩子就是一对爸妈生的。(小心注意计划生育)

群集类军及其易用性支持
所有Class 都继承Object 如果extends 关键字,貌似统系自动实现了,子类向父类转型可能会丢掉属性,父类转子类,不安全。(程序员有可能上下转型不是同一个子类)

管家面临的两难:谁该负责清理?
谁来打扫家里的卫生呢?如果让主人自己做的话,不可人忘记做,家里就成垃圾队了。
请过人来做吧。。问题是要给钱呀。它包了你的卫生,但又不知道他什么时候打扫。
C++就是自己动手了,程序员自己清理,JAVA 是如GC来清理。但同时也会带来速率问题,好像判断引用是否为空?因为他们有继承,在heap还要一个个去找一个个去判断。

异常处理:面对错误的发生
异常:就是程序在编译或运行出现的BUG
如果你在写代码时发现那段代码可能出现什么BUG你得做出一定方式来处理,或者把这个问题丢给下面的人来说,但你一定要告诉它。一个大项目,会出现各种各样的BUG,所以一个好的异常处理很重要。

多线程
看过动画片吗?当然。不就是一张张图片切换嘛!是的。当计算机只有一个CUP时。你又想同进让他干我个事件。我想听歌,我想看博客== 一个CPU要听那个的呀。它也没办法罗,把你们的命令分面很小一块。一个命令执行一"瞬间",我们人一般感觉不出来的。这样就把我们给忽悠了。感性认识它一下同时处理两个东西。不过这里是有执行级的。呵呵。和OOP不是一个概念!

持久性
就是不让你快速消失。程序运行在内存里。程序结束了那些数据就没了。我想存下来怎么办。以文件或数据库存到磁盘上去吧。

结束:只理解这么一点了。
0
0
分享到:
评论
1 楼 Vikiyung 2010-08-02  
讲得通俗易懂,很不错哈。。

但抽象基类与接口
这里还不是很清楚,能再讲得详细点么?

相关推荐

    think in java 第11章 持有对象

    以上就是《Think in Java》第11章“持有对象”中的核心知识点,理解并掌握这些概念对于深入理解和使用Java对象是非常重要的。通过实践和编程练习,你可以更好地领悟这些知识,并应用到实际项目中。

    Think in java学习笔记

    #### 第1章:对象导论 - **一切皆为对象**:Java 中的几乎所有事物都是对象,对象通过发送消息的方式进行交互。 - **对象模型**:每个对象都有自己的存储空间,该空间由其他对象构成;每个对象都具有类型,同一类型...

    Think In Java 学习笔记

    《Think In Java 学习笔记》 在Java编程语言中,对象是核心概念,它们代表着程序中的实体和行为。对象具有状态、行为和标识,是现实世界概念在软件中的映射。对象的状态由其内部的属性(或称数据成员)表示,行为则...

    Think in java第三版代码

    7. `frogbean`、`c12`、`c02`、`c04`:这些可能是目录或文件,可能分别对应《Think in Java》中的特定章节或案例,例如`frogbean`可能与青蛙类(Frog)相关,而`c02`、`c04`可能代表第2章和第4章的代码。 通过研究...

    Think in java读书笔记

    《Think in Java》读书笔记深度解析 一、构建器(Constructor) 构建器是Java中用于初始化新对象的一种特殊方法,其显著特征是没有返回值类型,包括`void`。这一点与普通方法形成鲜明对比,普通方法即便没有实际...

    think in java source code

    《Think in Java》是Bruce Eckel的经典编程教材,它深入浅出地讲解了Java语言的基础概念和高级特性。源码整理则为读者提供了实践和学习的机会,帮助理解书中的示例和理论。以下是对《Think in Java》源码中一些重要...

    Think in Java3

    《Think in Java 3》是一本深受欢迎的Java编程指南,由Bruce Eckel撰写,它以其详尽的解释和丰富的示例闻名。这本书是许多Java初学者和专业开发者的重要参考资料,旨在帮助读者深入理解Java语言的核心概念和机制。...

    王者归来之Thinking in java读书笔记

    《王者归来之Thinking in Java读书笔记》是对Bruce Eckel的经典之作《Thinking in Java》第四版的深度学习与总结。这本书是Java程序员的必备参考书,它深入浅出地阐述了Java语言的核心概念和技术,旨在帮助读者理解...

    Think in java 中文第四版第二部分 (非扫描,瑕疵版)

    《Think in Java 中文第四版》是学习Java编程的经典之作,由Bruce Eckel撰写,它深入浅出地讲解了Java语言的核心概念和技术。本部分主要涵盖的是书籍的第二部分,通常涉及面向对象编程的深入探讨,包括类、对象、...

    think in java 练习

    《Think in Java》是 Bruce Eckel 的经典著作,它深入浅出地讲解了Java编程语言的核心概念和技术。这本书强调理解编程思想,而不仅仅是学习语法。练习题是学习过程中的重要部分,它们帮助我们巩固理论知识,提升实际...

    think in java 英文第四版 高清完整PDF版

    java think in java (英文第四版)至今为止 被认为是java教程之中权威作品之一

    think in java第四版练习题第三章答案

    《Think in Java》是Java编程领域的一本经典著作,由Bruce Eckel撰写,深受程序员喜爱。第四版在原有的基础上进行了更新,以适应不断发展的Java语言。第三章主要讲解了面向对象编程的基础,包括类、对象、封装、继承...

    Think in JAVA 编程思想 第四版 清晰扫描版

    《Think in JAVA 编程思想》是Java编程领域的一本经典著作,由Bruce Eckel撰写。第四版作为该书的最新版本,包含了作者对Java语言深入的理解和丰富的编程经验,旨在帮助读者理解面向对象编程的核心理念,并提升编程...

    Think in java 源码构建编译

    Think in java 源码构建编译

    Think In Java 4(完美高清中文版).

    《Think In Java 4》是Java编程领域里一本极具影响力的著作,由资深程序员 Bruce Eckel 编著。这本书以其深入浅出的讲解方式和全面的知识覆盖而闻名,被誉为Java学习者的经典读物。中文版的完美高清版本为国内读者...

    think-in-java

    《Think in Java》是Java编程领域的一本经典著作,由Bruce Eckel撰写,中文版的出现使得更多中国程序员能够深入理解和掌握Java编程语言的核心概念。这本书以其深入浅出的讲解方式,深受程序员们的喜爱,是许多初学者...

    think in java4源代码

    《Think in Java 4》是Java编程领域的一部经典之作,由Bruce Eckel撰写,它以其深入浅出的讲解方式和丰富的示例代码深受程序员喜爱。这个压缩包包含的就是这本书的全部源代码,旨在帮助读者更好地理解和实践书中所...

    Think in java(中文版)优质排版

    Think in Java(美)Bruce Eckel 著 陈昊鹏 译 引言 同人类任何语言一样,Java为我们提供了一种表达思想的方式。如操作得当,同其他方式相 比,随着问题变得愈大和愈复杂,这种表达方式的方便性和灵活性会显露无遗。 ...

    think in java 4 源码 eclipse工程版

    think in java 第四版 源码以及作业 eclipse版本 包含jar包 可以直接导入eclipse

Global site tag (gtag.js) - Google Analytics