Thinking In Java读书笔记--对象导论
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读书笔记--对象导论的更多相关文章
- 《Java编程思想》读书笔记-对象导论
计算机是头脑延伸的工具,是一种不同类型的表达媒体.本文以背景性的和补充性的材料,介绍包括开发方法概述在内的面向对象程序设计(Object-oriented Programming,OOP)的基本概念. ...
- think in java 读书笔记 2 —— 套接字
目录 think in java 读书笔记 1 ——移位 think in java 读书笔记 2 —— 套接字 think in java 读书笔记 3 —— 数据报 概要 1. 套接字基本知识 2 ...
- head first java读书笔记
head first java读书笔记 1. 基本信息 页数:689 阅读起止日期:20170104-20170215 2. 标签 Java入门 3. 价值 8分 4. 主题 使用面向对象的思路介绍J ...
- think in java 读书笔记 3 —— 数据报
目录 think in java 读书笔记 1 ——移位 think in java 读书笔记 2 —— 套接字 think in java 读书笔记 3 —— 数据报 概要 1. 数据报基本知识 2 ...
- think in java 读书笔记 1 ——移位
目录 think in java 读书笔记 1 ——移位 think in java 读书笔记 2 —— 套接字 think in java 读书笔记 3 —— 数据报 在Think in Java中 ...
- 【Head First Java 读书笔记】(二)类与对象
前篇当中,代码都放在main()里面,那根本不是面向对象的做法. 椅子大战(对象如何改变你的一生) 程序规格: 在图形接口画出四方形,圆形和三角形,当用户点选图形时,图形需要顺时针转360度并依据形状 ...
- Java读书笔记1
Java逍遥游记读书笔记 前言 必须先来一句,这是入门级别,高手勿喷~ 写Android的时候总有一些语句不是很理解,其实大部分是Java的内容,所以想系统的学下Java. 这本书——<Java ...
- java读书笔记二
这是我的一些读书笔记: 我研究了一下面向对象: 面向对象符合人类看待事物的一般规律,对象的方法的实现细节是包装的,只有对象方法的实现者了解细节 我觉得面向过程是由过程.步骤.函数组成,过程是核心,面向 ...
- Java 基础之一对象导论
对象导论 1.1 抽象过程 所有编程语言都提供抽象机制.人们所能解决的问题的复杂性直接取决于抽象的类型和质量. 汇编语言是对底层机器的轻微抽象. 我们将问题空间中的元素及其再解空间中的表示称为对象.这 ...
随机推荐
- HTML\Script 去除关键字
以下是引用片段: ----- /**/ /// <summary> /// 去除HTML标记 /// </summary> /// <param name="N ...
- PHP学习笔记三十二【Exception】
<?php // $fp=fopen("a.txt","r"); // echo "ok"; if(!file_exists(&quo ...
- MongoDb笔记(一)
1.Mongodb 数据库是动态生成的可以使用use 数据库名 来指定要使用的数据库,如果数据库不存在就自动生成一个 2.插入一个文档:db.foo.insert({"name": ...
- C++中的条件传送代码
条件传送代码-这种代码先计算一个条件操作的两种结果,然后再条件从而选其中一个-条件传送代码匹配了现代处理器的性能特征(因为现代处理器是流水线) void minmax2(int a[],int b[] ...
- (原)在ubuntu 中安装 swi prolog 和 简单的使用
参考网址:http://www0.cs.ucl.ac.uk/staff/mahmed/teaching/intro.html 参考网址:http://www.swi-prolog.org/build/ ...
- Delphi Length函数
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms ...
- 用Apache Ivy实现项目里的依赖管理
Apache Ivy是一个管理项目依赖的工具. 它与Maven Apache Maven 构建管理和项目管理工具已经吸引了 Java 开发人员的注意.Maven 引入了 JAR 文件公共存储库的概念 ...
- 编程修养-C语言篇(二)
1.版权和版本——————— 好的程序员会给自己的每个函数,每个文件,都注上版权和版本. 对于C/C++的文件,文件头应该有类似这样的注释: /*************************** ...
- 源码编译安装 PHP5.5.0,解决curl_exec访问HTTPS返回502错误的问题(修改PATH路径)
最近碰到一个奇怪的问题, PHP使用 curl_exec 访问 HTTPS 网页时, 返回502错误, 访问HTTP网页时没有问题, 用 echo phpinfo() ; 查看, 支持op ...
- javascript之对象
一.创建对象 1.对象直接量. var point = { x:0,y:0 }; //point就是一个对象,跟C#不同,它不需要一定有类才能创建对象. 2.通过new创建对象 var d = new ...