Thinking In Java读书笔记--对象导论
【对象】
服务提供者==>将对象看做一个服务提供者
【程序员分类】
【类创造者】/【客户端程序员】

【访问控制存在的原因?】
【1】客户端程序员无法触及他们不该触及的部分
【2】允许库设计者/类创造者改变类的内部工作方式而不用担心会影响客户端程序员

【Java访问指定词,access specifier】
public private protected

【组合,composition】
【聚合,aggregation】
【has-a,拥有关系】

【继承】==>【类族】  
[ 基类/超类/父类]
[导出类/继承类/子类]
两种方法可以使得基类和子类产生差异
【1】为子类添加新的方法、行为
【2】覆写[overriding]父类的方法行为

【是一个与像一个】
【is-a】纯粹替代  替代原则   子类完全替代基类对象  不对基类做扩展
【like-a】 子类在基类的基础上扩展基类的行为

【伴随多态的可互换对象】
【前期绑定】
【后期绑定】当向对象发送消息时,被调用的代码直到运行时才能够确定

【转型,Cast】
[向上转型,UpCasting]将导出类看做他的基类
[向下转型]向下转型为更具体的类型==>子类,如何保证正确的进行向下转型?

【单根继承结构】
保证了所有对象都具备某些功能
使得垃圾回收变得容易得多

【容器】
[集合]
【对容器的需要做出必要的选择】
[1]不同容器提供了不同类型的机构和外部行为
[2]不同的容器对于某些操作具有不同的效率
【参数化类型,泛型<T>】

【对象的创建和生命期】
使用对象的最关键问题之一,生成和销毁的方式
[对象的存在都需要一定的资源,特别是内存]
[不在使用的对象应该尽快的释放掉,使其占用的资源能够得到释放和重用]
【对象的生命周期】
【垃圾回收器】
[被设计用来处理内存释放的问题,“知道”对象何时不在被使用,并自动释放对象占用的内存]

【异常处理,处理错误】
Java从一开始就内置了异常处理机制

【并发编程】
[同一时刻处理多个任务的思想]
【并发编程的一个隐患】
[共享资源]==>处理办法:对共享的资源在线程使用期间锁定,任务线程完成其任务后,释放资源锁,其他线程方可使用这项资源

【Java与Internet】
[客户/服务器计算技术]
中央信息存储池,Central repository of information
[Web就是一台巨型服务器]
[web浏览器的优势:一段信息在不经过修改就可以在任何型号的计算机上显示]

Thinking In Java读书笔记--对象导论的更多相关文章

  1. 《Java编程思想》读书笔记-对象导论

    计算机是头脑延伸的工具,是一种不同类型的表达媒体.本文以背景性的和补充性的材料,介绍包括开发方法概述在内的面向对象程序设计(Object-oriented Programming,OOP)的基本概念. ...

  2. think in java 读书笔记 2 —— 套接字

    目录 think in java 读书笔记 1 ——移位 think in java 读书笔记 2 —— 套接字 think in java 读书笔记 3 —— 数据报 概要 1. 套接字基本知识 2 ...

  3. head first java读书笔记

    head first java读书笔记 1. 基本信息 页数:689 阅读起止日期:20170104-20170215 2. 标签 Java入门 3. 价值 8分 4. 主题 使用面向对象的思路介绍J ...

  4. think in java 读书笔记 3 —— 数据报

    目录 think in java 读书笔记 1 ——移位 think in java 读书笔记 2 —— 套接字 think in java 读书笔记 3 —— 数据报 概要 1. 数据报基本知识 2 ...

  5. think in java 读书笔记 1 ——移位

    目录 think in java 读书笔记 1 ——移位 think in java 读书笔记 2 —— 套接字 think in java 读书笔记 3 —— 数据报 在Think in Java中 ...

  6. 【Head First Java 读书笔记】(二)类与对象

    前篇当中,代码都放在main()里面,那根本不是面向对象的做法. 椅子大战(对象如何改变你的一生) 程序规格: 在图形接口画出四方形,圆形和三角形,当用户点选图形时,图形需要顺时针转360度并依据形状 ...

  7. Java读书笔记1

    Java逍遥游记读书笔记 前言 必须先来一句,这是入门级别,高手勿喷~ 写Android的时候总有一些语句不是很理解,其实大部分是Java的内容,所以想系统的学下Java. 这本书——<Java ...

  8. java读书笔记二

    这是我的一些读书笔记: 我研究了一下面向对象: 面向对象符合人类看待事物的一般规律,对象的方法的实现细节是包装的,只有对象方法的实现者了解细节 我觉得面向过程是由过程.步骤.函数组成,过程是核心,面向 ...

  9. Java 基础之一对象导论

    对象导论 1.1 抽象过程 所有编程语言都提供抽象机制.人们所能解决的问题的复杂性直接取决于抽象的类型和质量. 汇编语言是对底层机器的轻微抽象. 我们将问题空间中的元素及其再解空间中的表示称为对象.这 ...

随机推荐

  1. HTML\Script 去除关键字

    以下是引用片段: ----- /**/ /// <summary> /// 去除HTML标记 /// </summary> /// <param name="N ...

  2. PHP学习笔记三十二【Exception】

    <?php // $fp=fopen("a.txt","r"); // echo "ok"; if(!file_exists(&quo ...

  3. MongoDb笔记(一)

    1.Mongodb 数据库是动态生成的可以使用use 数据库名 来指定要使用的数据库,如果数据库不存在就自动生成一个 2.插入一个文档:db.foo.insert({"name": ...

  4. C++中的条件传送代码

    条件传送代码-这种代码先计算一个条件操作的两种结果,然后再条件从而选其中一个-条件传送代码匹配了现代处理器的性能特征(因为现代处理器是流水线) void minmax2(int a[],int b[] ...

  5. (原)在ubuntu 中安装 swi prolog 和 简单的使用

    参考网址:http://www0.cs.ucl.ac.uk/staff/mahmed/teaching/intro.html 参考网址:http://www.swi-prolog.org/build/ ...

  6. Delphi Length函数

    unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms ...

  7. 用Apache Ivy实现项目里的依赖管理

    Apache Ivy是一个管理项目依赖的工具. 它与Maven  Apache Maven 构建管理和项目管理工具已经吸引了 Java 开发人员的注意.Maven 引入了 JAR 文件公共存储库的概念 ...

  8. 编程修养-C语言篇(二)

    1.版权和版本——————— 好的程序员会给自己的每个函数,每个文件,都注上版权和版本.  对于C/C++的文件,文件头应该有类似这样的注释: /*************************** ...

  9. 源码编译安装 PHP5.5.0,解决curl_exec访问HTTPS返回502错误的问题(修改PATH路径)

    最近碰到一个奇怪的问题, PHP使用 curl_exec 访问 HTTPS 网页时, 返回502错误, 访问HTTP网页时没有问题,  用   echo   phpinfo() ;  查看, 支持op ...

  10. javascript之对象

    一.创建对象 1.对象直接量. var point = { x:0,y:0 }; //point就是一个对象,跟C#不同,它不需要一定有类才能创建对象. 2.通过new创建对象 var d = new ...