Java编程思想笔记/读书提纲(一)

Java编程思想

作者:気泡飲料

第一章:对象导论

  • 1.1 抽象过程

    1. 万物皆是对象
    2. 程序皆是对象,它们通过发送消息来告知彼此应该要做的
    3. 每个对象都拥有其类型
    4. 某一特定的所有对象都可以接受同样的消息
    5. 每个对象都有自己的由其他对象所构成的存储
  • 1.2 每个对象都有一个接口

    1. 创建抽象数据类型(类)是面向对象程序设计的基本概念之一
      ,抽象数据类型的运行方式与内置类型几乎完全一致
    2. 类型(类)是具有相同特性(数据元素)和行为的对象的集合
      Light lt = new Light()
      lt.on()
    3. lt是对象的引用,new Light()方法建立了一个新对象
    4. 接口确定了某一特定对象能发出的请求
  • 1.3 每个对象都提供服务

    1. 将对象想象成服务提供者,程序本身向用户提供服务
    2. 程序的设计应该提高对象的内聚性,不要将过多的功能都塞进一个类中
  • 1.4 被隐藏的具体实现

    1. 访问控制非常重要,客户端程序员不应该触及他们不该触及的部分
    2. Java用三个关键字在类的内部设定边界public, private, protected
    3. Java还有一种默认的访问权限default它通常被称为包访问权限,类可以访问同一个包中其他类的成员,包之外是无效的
  • 1.5 复用具体实现

    1. 代码复用是面向对象的一个伟大的优点
    2. 直接使用该类的对象也是复用某个类的方式
    3. 创建一个类的对象置于一个新的类当中
    4. 新的类可以由任意数量,任意类型的其他对象以任意可以实现新的类中想要的功能的方式所组成。通过使用现有的类合成新的类,这种概念被称之为组合,动态发生的组合被称之为聚合
    5. 组合是一种拥有关系,例如汽车拥有引擎
  • 1.6 继承

    1. 类是面向对象编程语言中的基本单位
    2. 如何两个类具有相似的功能,我们以现有的类为基础,复制它,然后通过添加,修改这个类来创建一个新类,一般情况下,我们通过继承来达到这样的一个效果
    3. 继承现有类型以后,也就创造了新的类型,子类拥有父类的所有成员,子类也复制了父类的接口,这也意味着子类与父类具有相同的类型
    4. Java中的继承使用extends关键字
    5. 向子类添加更多的方法,这是一种对继承简单而基本的使用方式
    6. 继承只覆盖父类的方法(并不添加父类中没有的方法),这样,父类与子类是完全相同的类型(类),这被视为纯粹替代
    7. 子类中继承了来自外部的一个接口以后,这样父类无法访问新添加的方法,这种情况下,子类具有父类的接口,但是子类还包含有其他方法,所以说,不是把它们视为完全相同
  • 1.7 伴随多态的可互换对象

    1. 在处理类型的层次结构时,经常应把一个对象不当作它所属的一个类型来看待,而是将其作为父类的对象来看待
    2. 这样的代码不会受添加新类型影响的,添加新类型是一个面向对象的程序处理新情况的最常用方式,通过导出新的子类型而轻松扩展设计的能力是对改动进行封装的基本形式之一,这种能力可以极大地改善我们的设计,同时降低软件维护的代价
    3. 面向对象程序设计语言使用了后期绑定的概念,当向对方发送消息时,被调用的代码直到运行时才能确定。编译器确保被调用方法的存在
    4. 为了执行后期绑定,Java使用一小段特殊的代码来替代绝对调用(第八章会详细讲述),根据一小段代码的内容,每一个对象具有不同的行为表现,当向一个对象发送消息时,该对象就能知道这条消息应该做什么
    5. 把导出类看作是它的基类的过程被称为向上转型
  • 1.8 单根继承结构

    1. OOP(面向对象)中,Java所有的类都会继承自单一的一个基类,Java的终极基类是object
    2. 在单根继承结构中所有对象都具有一个公共接口,归根到底,它们都是相同的基本类型
    3. 单根继承保证了所有对象都具有某些功能
    4. 单根继承结构使垃圾回收器的实现变得容易很多
  • 1.9 容器

    1. List(用于存储序列),Map(也被称为关联数组,用来建立对象之间的关联),Set(每种对象类型只持有一个),以及诸如队列,树,堆栈等更多的构建
    2. ArrayListLinkList。我们可以一开始使用LinkList去构建程序,在优化系统的性能时采用ArrayList
    3. 向下转型
  • 1.10 对象的创建和生命期

    1. 对象的生成与销毁是系统设计中一个比较关键的问题,每个对象都会都会为了生存来占用资源,当我们不在需要一个对象的时候,它必须被清理掉

    2. Java完全采用了动态内存分配方式,每当要创建新对象的时候,就要是用new关键字来构建此对象的实例

    3. Java的垃圾回收器被设计用来处理内存释放问题

    4. 在对象的生命周期,对于允许在堆栈上创建对象的语言,编译器可以确定对象存活的时间,并可以自动销毁它

  • 1.11 异常处理:处理错误

    1. 异常错误处理的机制直接被置于编程语言中,有的时候被置于操作系统当中。
    2. 异常是一种对象,它从出错地点被抛出,并被专门设计用来处理特定类型错误的相应的异常处理器捕获,异常处理就像是与程序正常执行路径并行
    3. Java内置了异常处理,你必须要使用它,它是唯一可接受的错误报告方式
    4. 异常处理并不是面向对象的特征,虽然在面向对象的编程语言当中,异常常常被表示成一个对象。但是,异常处理在面向对象之前就已经出现了
  • 1.12 并发编程

    1. 把问题切分成多个可以独立运行的部分(任务),从而提高程序的响应能力。程序中,这种彼此独立运行的部分称之为线程,上述概念被称之为并发
    2. 线程只是为单一处理器分配执行时间的手段,如果操作系统支持多处理器,那么每个任务可以分配到各个处理器上面,这是真正的并发
    3. 程序在逻辑上被分成线程,语言级别上不需要考虑机器拥有几个处理器
  • 1.13 Java与Internet

    1. Java非常适合网络编程
    2. Java程序的B/S架构与C/S架构
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值