<Java编程思想>读书笔记(1)-对象导论、一切都是对象
1、面向对象编程:OOP (Object-oriented Programming)
2、Alan Kay 总结的面向对象语言5个基本特性:
1) 万物皆为对象
2) 程序是对象的集合,他们通过发送消息来告知彼此所要做的。
可以把消息想象为对某个特定对象方法的调用请求
3) 每个对象都有自己的由其他对象所构成的存储
4) 每个对象都拥有其类型
每个对象都是某个类的一个实例,这里的 ”类“ 就是 ”类型“ 的同义词
5) 某一特定类型的所有对象都可以接收同样的消息
注:天才计算机大师阿伦凯,他是smalltalk面向对象编程环境语言的发明人之一,也是面向对象编程思想的创始人之一,他还是笔记本电脑最早的构想者和现代Windows GUI的最初尝试者。
3、Booch对对象提出了一个简洁的描述:对象具有状态、行为和标识。
解释:每个对象都可以拥有内部数据(它给出了该对象的状态)和方法(它们产生行为),并且每个对象都可以唯一的与其他对象区分开来,具体的说是每个对象在内存中都有一个唯一地址。
4、高内聚,低耦合
具体查看博客<高内聚,低耦合>
5、访问权限

6、储存
1) 寄存器
最快的存储区,它位于不同于其他存储区的地方-处理器内部,不能在程序中控制。
2) 栈
位于RAM区中,对象引用存储其中。
3) 堆
位于RAM区中,存放所有java对象。
4) 常量存储
5) 非RAM存储
7、基本成员默认值
| 基本类型 | 默认值 |
| byte | 0 |
| short | 0 |
| int | 0 |
| long | 0L |
| float | 0.0f |
| double | 0.0d |
| char | '\u0000' |
| boolean | false |
当变量作为类的成员使用时,Java才确保给定其默认值。
8、生成html文档
使用命令:javadoc -d doc *.java,生成html文档
javadoc命令只能在"/**"注释中出现,结束语"*/",并且只能为public和protected修饰的成员进行文档注释。
<Java编程思想>读书笔记(1)-对象导论、一切都是对象的更多相关文章
- [Java编程思想-学习笔记]第2章 一切都是对象
2.1 创建新的数据类型:类 通过第一章掌握了面向对象的理论后,我们知道每个对象必定属于一个类型,那么Java如何创建新的数据类型?如下程序所示: class Circle { // 属性 // 方 ...
- JAVA编程思想读书笔记(四)--对象的克隆
接上篇JAVA编程思想读书笔记(三)--RTTI No1: 类的克隆 public class MyObject implements Cloneable { int i; public MyObje ...
- JAVA编程思想读书笔记(五)--多线程
接上篇JAVA编程思想读书笔记(四)--对象的克隆 No1: daemon Thread(守护线程) 参考http://blog.csdn.net/pony_maggie/article/detail ...
- JAVA编程思想读书笔记(三)--RTTI
接上篇JAVA编程思想读书笔记(二) 第十一章 运行期类型判定 No1: 对于作为程序一部分的每个类,它们都有一个Class对象.换言之,每次写一个新类时,同时也会创建一个Class对象(更恰当的说, ...
- JAVA编程思想读书笔记(二)--容器
接上篇JAVA编程思想读书笔记(一) 第八章.对象的容纳 No1: java提供了四种类型的集合类:Vector(矢量).BitSet(位集).Stack(堆栈).Hashtable(散列表) No2 ...
- Java编程思想读书笔记(一)【对象导论】
2018年1月7日15:45:58 前言 作为学习Java语言的经典之作<Java编程思想>,常常被人提起.虽然这本书出版十年有余,但是内容还是很给力的.很多人说这本书不是很适合初学者,我 ...
- Java编程思想读书笔记之内部类
现在是够懒得了,放假的时候就想把这篇笔记写出来,一直拖到现在,最近在读<Java编程思想>,我想会做不止这一篇笔记,因为之前面试的时候总会问道一些内部类的问题,那这本书的笔记就从内部类开始 ...
- Java编程思想读书笔记(二)【一切都是对象】
begin 2018年1月9日17:06:47 第二章 一切都是对象 Java语言假设我们只进行面向对象的程序设计. 2.1 用引用操纵对象 每种编程语言都有自己的操纵内存元素的方式 操纵内存元素的方 ...
- Java编程思想读书笔记之一切皆对象
一切皆对象 Java程序运行时,数据保存到哪里 寄存器 这是最快的保存区域,因为它位于和其他所有保存方式不同的地方:处理器内部.然而,寄存器的数量十分有限,所以寄存器是根据需要由编译器分配.我们对此没 ...
随机推荐
- WPF ItemControl的源与选择项问题
具体场景: datagrid的行中有个combox 每个行是一个实例A 每个行中的SelectedItem是实例A的一个属性B 我希望实现datagrid的复制Command,具体做法是A序列化反序列 ...
- sql 投影查询
使用SELECT * FROM <表名> WHERE <条件>可以选出表中的若干条记录.我们注意到返回的二维表结构和原表是相同的,即结果集的所有列与原表的所有列都一一对应. 如 ...
- onethink后台代码简单分析(1)
onethink后台的入口页面同样是Index/index控制器 首先,Index继承了AdminController,AdminController有一个_initialize函数,这是所有后台运行 ...
- 【Flutter学习】基本组件之基本列表ListView组件
一,概述 列表是前端最常见的需求. 在flutter中,用ListView来显示列表页,支持垂直和水平方向展示,通过一个属性我们就可以控制其方向,列别有以下分类 水平列表 垂直列表 数据量非常大的列表 ...
- BZOJ 2326: [HNOI2011]数学作业(矩阵乘法)
传送门 解题思路 NOIp前看到的一道题,当时想了很久没想出来,NOIp后拿出来看竟然想出来了.注意到有递推\(f[i]=f[i-1]*poww[i]+i\),\(f[i]\)表示\(1-i\)连接起 ...
- centos7安装kylo0.10.1
安装环境centos7,kylo版本0.10.1 常用的链接地址 kylo官网:https://kylo.io/ kylo文档:https://kylo.readthedocs.io/ 下载地址 官网 ...
- [bzoj3033]太鼓达人 题解(搜索)
Description 七夕祭上,Vani牵着cl的手,在明亮的灯光和欢乐的气氛中愉快地穿行.这时,在前面忽然出现了一台太鼓达人机台,而在机台前坐着的是刚刚被精英队伍成员XLk.Poet_shy和ly ...
- Dubbo入门到精通学习笔记(四):持续集成管理平台之Maven私有库和本地库的安装与配置
文章目录 介绍 Maven私有库和本地库的安装与配置 Nexus安装 Nexus 配置(登录后) 介绍 如果构建的Maven项目本地仓库没有对应的依赖包,那么就会去Nexus私服去下载, 那么如果Ne ...
- git分布式版本控制系统权威指南学习笔记(三):简单了解git对象、head以及sha1sum
文章目录 git对象(简单了解) 对象是存在哪里的? head和master分支 上面的hash值怎么来的? git对象(简单了解) 每次提交都有tree.parent.author.committe ...
- 软件测试工程师如何提高提BUG逼格
某个周四早上,沏好一杯茶,刚要坐到座位上,就听开发说,你们测试怎么提的Bug,给个截图能说明啥?截图上面显示的奔溃,如果是必现还好,如果不是必现,那么我们怎么去定位?至少给个日志吧?当时我的内心活动是 ...