阅读java编程思想的总结(一)
学而不思则罔,思而不学则殆
一、对象(Object)
1、机器模型(方案空间),实际解决问题的问题模型(问题空间)。
2、我们将问题空间中的元素以及它们在方案空间的表示物称为“对象”(Object)。
3、OOP(面向对象编程)允许我们根据问题来描述问题,而不是根据方案。
4、与现实世界中的“对象”或“物体”相比,编程“对象”也有他们自己的特征和行为。
二、Java面向对象程序设计方法
1、所有的东西都是对象,可将对象想象成一种新型变量,它保存着数据,可以要求它对自身进行操作。
2、程序是一大推对象的组合,通过消息传递(比如方法调用),各个对象知道自己该做些什么。
3、每个对象都有自己的存储空间,也可以容纳其它对象(其它对象必须是private)。
4、每一个对象有一种类型。一个类的最重要特征是能将什么消息发送给它。
5、同一类所有对象都能接收相同的消息。
三、接口(interface)
1、现实世界中,每一种类都有它自己的特征与行为,比如说人类,有黑人,白人等特征;人能说话,能直立行走这些行为等。
2、程序世界里,每一个对象都隶属一个特定的“类”,这个类也有自己的行为和通用特征。
3、所以,在面向对象编程中,我们要建立各种各样的类(class),可根据实际情况生成许多对象 。随后这些对象作为要解决的问题在元素中处理。
4.、如何在问题空间的元素与方案空间的元素之间建立理想的一一对应或映射关系?这就有了接口(interface)的出现。每个对象都能接收特定的请求,我们想对象发出的请求的通过它的接口(interface)来定义的,对象的类规定了它的接口形式。类与接口的等价或对应关系是面向编程设计的基础。
以灯泡为例子,有开灯、关灯、调亮、调暗等接口。而要调用的话,需要创建(new)一个对象,通过对象的句柄去调用。

四、方案实现的隐藏
1、说白了就是访问控制
| 同一个类 | 同一个包 | 不同包的子类 | 不同包的非子类 | |
| public | 可以访问 | 可以访问 | 可以访问 | 可以访问 |
| protect | 可以访问 | 可以访问 | 可以访问 | |
| default | 可以访问 | 可以访问 | ||
| private | 可以访问 |
2、方案的重用,许多人认为设计方案的重用是面向对象程序设计提供的最伟大的一种杠杆。我们把那些公共的方法拿出来封装成一个接口,然后提供给其它需要的对象继承重复使用。
3、继承(extends),重新使用接口。比如说父类有能跑的方法,当子类继承了父类之后,子类除了自己的方法外,还多了一个父类的方法。我们可以改善父类方法函数的行为,也可以直接继承它的行为。
阅读java编程思想的总结(一)的更多相关文章
- 阅读java编程思想之一切都是对象
温故而知新--- 1. 用句柄操作对象 现实生活中,我们可以把遥控器当作句柄,电视机当作对象.当我们拿到句柄(遥控器)的时候,我们是可以控制对象的(电视机).比如说调节音量大小,色彩等.那么在程序里, ...
- Java编程思想阅读收获
15年8月份买了一本Java编程思想第四版中文版.之所以买中文版是因为我试读了同事的英文版发现自己英语水平还是有限,单词虽然认识,但对很多句子把握不准,这样看书太慢了,要理解英文还要理解技术有些hol ...
- 《Java编程思想》阅读笔记二
Java编程思想 这是一个通过对<Java编程思想>(Think in java)进行阅读同时对java内容查漏补缺的系列.一些基础的知识不会被罗列出来,这里只会列出一些程序员经常会忽略或 ...
- 《Java编程思想》阅读笔记一
Java编程思想 这是一个通过对<Java编程思想>(Think in java)第四版进行阅读同时对java内容查漏补缺的系列.一些基础的知识不会被罗列出来,这里只会列出一些程序员经常会 ...
- 【Java编程思想阅读笔记】Java数据存储位置
Java数据存储位置 P46页有感 一.前置知识 栈是由系统自动分配的,Java程序员对栈没有直接的操作权限, 堆是所有线程共享的内存区域,栈 是每个线程独享的. 堆是由程序员自己申请的,在使用new ...
- JAVA编程思想——分析阅读
需要源码.JDK1.6 .编码风格参考阿里java规约 7/12开始 有点意识到自己喜欢理论大而泛的模糊知识的学习,而不喜欢实践和细节的打磨,是因为粗心浮躁导致的么? cron表达式使用 设计能力.领 ...
- [Java编程思想-学习笔记]第3章 操作符
3.1 更简单的打印语句 学习编程语言的通许遇到的第一个程序无非打印"Hello, world"了,然而在Java中要写成 System.out.println("He ...
- 《java编程思想》读书笔记(一)开篇&第五章(1)
2017 ---新篇章 今天终于找到阅读<java编程思想>这本书方法了,表示打开了一个新世界. 第一章:对象导论 内容不多但也有20页,主要是对整本书的一个概括.因为已经有过完整JAV ...
- MyEclipse导入ant项目——Java编程思想
北门煎饼东门串儿: <JAVA编程思想(Think in Java)>一书中提供了大量源代码,可是项目是用ant构建的.对于用惯了eclipse,netbeans等IDE的同学们可能有些手 ...
随机推荐
- LINQ之 Join 与 GroupJoin
声明:本文为www.cnc6.cn原创,转载时请注明出处,谢谢! 一.编写Person与City类,如下: class Person { public int CityID { set; get; } ...
- 禁用software reporter tool.exe 解决CPU高占用率的问题
或者 或者 C:\Users\Administrator\AppData\Local\Google\Chrome\User Data\SwReporter\36.184.200 下编辑 manifes ...
- Spring源码系列 — Resource抽象
前言 前面两篇介绍了上下文的启动流程和Environemnt的初始化,这两部分都是属于上下文自身属性的初始化.这篇开始进入Spring如何加载实例化Bean的部分 - 资源抽象与加载. 本文主要从以下 ...
- JVM 学习总结
目录 Java内存区域 运行时数据区 & Java 内存结构 & Java 内存区域 1. 程序计数器 2. Java 虚拟机栈 3. 本地方法栈 4. 堆 5. 方法区 6. 运行时 ...
- Lambda(二)lambda表达式使用
Lambda(二)lambda表达式使用 Lambda 表达式组成: /* param list arrow lambda body (o1,o2) -> o1.getColor().Compa ...
- 运算符 &(与运算)、|(或运算)、^(异或运算)
按位与运算符(&) 参加运算的两个数据,按二进制位进行“与”运算. 运算规则:0&0=0; 0&1=0; 1&0=0; 1&1=1; 按位或运算符( ...
- Windows+Qt+MinGW使用gRPC
本文参考博客文章Qt gRPC 简单应用进行了亲自尝试,特此记录以下过程,为后人提供经验.我的环境:Windows10 x64需要依赖MSYS2环境(一个类Unix环境,包管理器)MSYS2 gith ...
- apk分析 1
配置抓包工具 关闭捕获主机通讯关闭 配置: 在手机端进行配置 进入wifi设置,长按网络高级选项->手动设置代理 测试是否设置成功,手机上随便开应用看抓包器是否有反应 打开抓包目标apk(恋恋, ...
- [linux] 进程五状态模型
运行态:该进程正在执行:就绪态:进程做好了准备,只要有机会就开始执行:阻塞态:进程在某些事件发生前不能执行,如I/O 操作完成:新建态:刚刚创建的进程,操作系统还没有把它加入到可执行进程组中.通常是进 ...
- centos7 安装gitlab及简单配置
1.安装 wget -O gitlab.rpm https://packages.gitlab.com/gitlab/gitlab-ce/packages/el/7/gitlab-ce-11.11.3 ...