学而不思则罔,思而不学则殆

一、对象(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编程思想的总结(一)的更多相关文章

  1. 阅读java编程思想之一切都是对象

    温故而知新--- 1. 用句柄操作对象 现实生活中,我们可以把遥控器当作句柄,电视机当作对象.当我们拿到句柄(遥控器)的时候,我们是可以控制对象的(电视机).比如说调节音量大小,色彩等.那么在程序里, ...

  2. Java编程思想阅读收获

    15年8月份买了一本Java编程思想第四版中文版.之所以买中文版是因为我试读了同事的英文版发现自己英语水平还是有限,单词虽然认识,但对很多句子把握不准,这样看书太慢了,要理解英文还要理解技术有些hol ...

  3. 《Java编程思想》阅读笔记二

    Java编程思想 这是一个通过对<Java编程思想>(Think in java)进行阅读同时对java内容查漏补缺的系列.一些基础的知识不会被罗列出来,这里只会列出一些程序员经常会忽略或 ...

  4. 《Java编程思想》阅读笔记一

    Java编程思想 这是一个通过对<Java编程思想>(Think in java)第四版进行阅读同时对java内容查漏补缺的系列.一些基础的知识不会被罗列出来,这里只会列出一些程序员经常会 ...

  5. 【Java编程思想阅读笔记】Java数据存储位置

    Java数据存储位置 P46页有感 一.前置知识 栈是由系统自动分配的,Java程序员对栈没有直接的操作权限, 堆是所有线程共享的内存区域,栈 是每个线程独享的. 堆是由程序员自己申请的,在使用new ...

  6. JAVA编程思想——分析阅读

    需要源码.JDK1.6 .编码风格参考阿里java规约 7/12开始 有点意识到自己喜欢理论大而泛的模糊知识的学习,而不喜欢实践和细节的打磨,是因为粗心浮躁导致的么? cron表达式使用 设计能力.领 ...

  7. [Java编程思想-学习笔记]第3章 操作符

    3.1  更简单的打印语句 学习编程语言的通许遇到的第一个程序无非打印"Hello, world"了,然而在Java中要写成 System.out.println("He ...

  8. 《java编程思想》读书笔记(一)开篇&第五章(1)

    2017 ---新篇章  今天终于找到阅读<java编程思想>这本书方法了,表示打开了一个新世界. 第一章:对象导论 内容不多但也有20页,主要是对整本书的一个概括.因为已经有过完整JAV ...

  9. MyEclipse导入ant项目——Java编程思想

    北门煎饼东门串儿: <JAVA编程思想(Think in Java)>一书中提供了大量源代码,可是项目是用ant构建的.对于用惯了eclipse,netbeans等IDE的同学们可能有些手 ...

随机推荐

  1. POJ-2661Factstone Benchmark

    Factstone Benchmark Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 5577   Accepted: 25 ...

  2. thymeleaf入门

    controller层添加实体 html <!DOCTYPE html> <html xmlns:th="http://www.thymeleaf.org"> ...

  3. 解决用navicat远程连接数据库出现1045 access denied for user 'root'@'localhost' using password yes

    在mysql命令行中执行 SET PASSWORD FOR 'root'@'localhost' = PASSWORD('123456XXX');  GRANT ALL PRIVILEGES ON * ...

  4. Linux 搭建邮件服务器

    一.概述: 在配置邮件服务器之前,先解释几个概念. 1.SMTP:简单邮件传输协议 (Simple Mail Transfer Protocol, SMTP) 通常使用Email都很容易,但是Inte ...

  5. Spring Security OAuth2 Demo —— 客户端模式(ClientCredentials)

    前情回顾 前几节分享了OAuth2的流程与其它三种授权模式,这几种授权模式复杂程度由大至小:授权码模式 > 隐式授权模式 > 密码模式 > 客户端模式 本文要讲的是最后一种也是最简单 ...

  6. ASP.NET MVC 实现简单的登录

    1.创建一个控制器   如下: using System; using System.Collections.Generic; using System.Linq; using System.Web; ...

  7. jersey常用注解解释 JAX-RS常用注解:

    jersey常用注解解释: Annotation 作用 说明 @GET 查询请求 相当于数据库的查询数据操作 @PUT 更新请求 相当于数据库的更新数据操作 @POST 插入请求 相当于数据库的插入数 ...

  8. python中的三个读read(),readline()和readlines()

    Python 将文本文件的内容读入可以操作的字符串变量非常容易. 文件对象提供了三个“读”方法: .read()..readline() 和 .readlines(). 每种方法可以接受一个变量以限制 ...

  9. Java编程基础——常量变量和数据类型

    Java编程基础——常量变量和数据类型 摘要:本文介绍了Java编程语言的常量变量和数据类型. 常量变量 常量的定义 一块内存中的数据存储空间,里面的数据不可以更改. 变量的定义 一块内存中的数据存储 ...

  10. java socket通信:聊天器(1)

    目的:实现多个客户之间的通信 首先,这个聊天器的框架是这样的: 对于服务器端:建立socket,连接到服务器,并且开始监听. import java.io.*; import java.util.Ar ...