《Java编程思想》笔记 第一章 对象导论
1.抽象过程
Q:什么是对象???
A: 1) 万物皆对象 --- 对象具有状态,行为和标识
2)程序是对象的集合,他们通过发送消息来告诉彼此要做的
3)通过创建包含现有对象的包的方式来创建新类型的对象
4)每个对象都具有其类型。
每个对象都是某个类(class)的实例
类与类最重要的区别就是可以发什么样的消息给它。
5)某一特定类型的对象都可以接受同样的消息
2.每个对象都有一个接口
2.1 接口(interface)
2.2 类描述了具有相同特性(数据元素)和行为(功能)的对象集合
2.3 一个类就是一种数据类型
2.4 每个对象只能满足某些消息请求,这些请求由对象的接口定义
Light lt = new Light();
lt.on();
对象的名称是lt(lt只是Light对象的一个引用,这里把它就当作Light的对象)lt的类型是Light
向这个对象发送一个开灯的请求 需要声明对象的引用lt 发送的消息是on() 格式是lt.on();
3.每个对象都提供服务
4.被隐藏的具体实现
- 类创建者
- 客户端程序员
- 访问权限:public private protected 默认
5.复用具体实现
5.1 代码复用是面向对象程序设计语言所提供的最了不起的优点之一
5.2 创建一个成员对象:把一个类的对象至于某个新的类中(这个对象可以使某个类的实例的引用也可以是基本数据类型)
5.3 组合: 用已有的类构建新的类(通过创建成员对象的方式,新类中的成员对象一般为private,使客户端程序员不是使用它)
5.4 创建新类是首先考虑组合
6.继承 extends
7.伴随多态的可互换对象
8.单根继承结构
- 终极基类Object
9.容器
9.1 一种对象类型,它持有其他对象的引用
9.2 参数化类型--->泛型
10.对象的创建和生命期
- 堆(Heap)
- 堆栈(Stack)即栈
11.异常处理,处理错误
12.并发编程
13. Java与Internet
《Java编程思想》笔记 第一章 对象导论的更多相关文章
- java编程思想笔记(第一章)
Alan Kay 第一个定义了面向对象的语言 1.万物皆对象 2.程序是对象的集合,他们彼此通过发送消息来调用对方. 3.每个对象都拥有由其他对象所构成的存储 4.每个对象都拥有其类型(TYpe) 5 ...
- Java编程思想(第一章 对象入门)总结
面向对象编程(oop) 1.1抽象的进步 所有编程语言的最终目的都是提供一种“抽象”方法. 难点是 在机器模型(位于“方案空间”)和实际解决问题模型(位于“问题空间”)之间,程序员必须建立起一种联 ...
- java编程思想(1)--对象导论
对象导论: 1.1 抽象过程 所有的语言都有抽象机制,抽象是解决复杂问题的根本方法.例如:汇编语言是对底层机器的轻微抽象.命令式语言(如:FORTRAN.BASIC.C)又是对汇编语言的抽象. jav ...
- Java编程思想读书笔记 第一章 对象导论
抽象过程 纯粹的面向对象程序设计方式: 万物皆为对象: 对象可以存储数据,还可以在其自身执行操作 程序是对象的集合: 通过发送消息告诉彼此要做的 每个对象都有自己的由其它对象构成的存储:可以在程序中构 ...
- think in java 第四版读书笔记 第一章对象导论
很久没有碰过java了,为了项目需要以及以后找工作,还是有必要将think in java通读一遍.欢迎大家一起讨论学习 1.1抽象过程 面向对象语言的5个特性: 1.万物皆对象 任何事物都可以抽象为 ...
- Java编程思想笔记(第二章)
第二章 一切都是对象 尽管Java是基于C++的,但相比之下,Java是一种更纯粹的面向对象程序设计语言. c++和Java都是杂合型语言(hybird language) 用引用(referenc ...
- [Java编程思想] 第一章 对象导论
第一章 对象导论 "我们之所以将自然界分解,组织成各种概念,并按其含义分类,主要是因为我们是整个口语交流社会共同遵守的协定的参与者,这个协定以语言的形式固定下来--除非赞成这个协定中规定的有 ...
- Java编程思想——第17章 容器深入研究 读书笔记(三)
七.队列 排队,先进先出. 除并发应用外Queue只有两个实现:LinkedList,PriorityQueue.他们的差异在于排序而非性能. 一些常用方法: 继承自Collection的方法: ad ...
- Java编程思想 第21章 并发
这是在2013年的笔记整理.现在重新拿出来,放在网上,重新总结下. 两种基本的线程实现方式 以及中断 package thread; /** * * @author zjf * @create_tim ...
随机推荐
- ACM第一阶段学习内容
一.知识目录 字符串处理 ................................................................. 3 1.KMP 算法 .......... ...
- 编程练习:寻找发帖"水王"
题目: 寻找发帖"水王" 来源: 编程之美 分析 衍生:就是给定一个数组,其中某个元素出现次数超过了数组长度的一半,找出这个元素 方法s 方法1 对这个串进行遍历,同时对出现的元素 ...
- Android隐藏键盘
今天接到的任务是在验证码输入框中加入键盘监听事件,需要点击Enter实现登录,这个比较好实现,但是在登录时,键盘并没有隐藏掉,看上去很别扭,因此,百度了一堆方法,但是都无济于事,最后找到了一个,如下, ...
- C++陷阱系列:让面试官倒掉的题
http://blog.chinaunix.net/uid-22754909-id-3969535.html 今天和几位同仁一起探讨了一下C++的一些基础知识,在座的同仁都是行家了,有的多次当过C++ ...
- System and Device power management.
Advanced Configuration and Power Management Interface(ACPI)是由Intel,Microsoft等厂家订的一套Spec,规范了OS,APP对于电 ...
- css如何选择相同class下的第一个class元素和最后一个元素?
如图,如果像选择类名为 class="exerciseInfo" 中的第一个和最后一个div,做法如下: 选择第一个类名: .exerciseInfo: nth-of-type ...
- 列数不固定时怎么使用el-tabel展示数据
<el-table :data="contents" stripe> <el-table-column v-for="(item, index) in ...
- mac --snip 滚动截屏
1.snip 下载配置:https://jingyan.baidu.com/article/fec4bce2458d03f2618d8b8e.html 2.mac的火狐浏览器好像不支持,必须在sofa ...
- Windows关机过程分析与快速关机
原文链接:http://blog.csdn.net/flyoxs/article/details/3710367 Windows开机和关机慢,很多时候慢得令人抓狂.特别是做嵌入式开发时(如XPE和Wi ...
- 遇到问题---java---git下载的maven项目web用tomcat发布时不带子项目
遇到的情况是用git下载maven项目,然后用mvn eclipse:eclipse命令标记为eclipse项目之后,使用maven插件导入之后用tomcat发布运行,发现maven关联的几个子项目没 ...