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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

结束:只理解这么一点了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值