对象导论 Thinking in Java 第一章
1.1 抽象过程
1.人们能够解决问题的复杂性直接取决于抽象的类型和质量。
1.2 每个对象都有一个接口
1.3 每个对象都提供服务
1.4 被隐藏的具体实现
1.程序猿分为:类创建者 和 客户端程序猿
*对于这两者的区别和联系:类创建者为写底层和封装实现的开发人员,而客户端程序猿主要是利用API使用类创建者写的类进行开发;两者的角色在一般的开发人员看来是一体的,就如java开发中自己要建类,然后自己使用之。
2.Java访问权限控制
public,private,protected;
同时Java含有一种默认的包访问权限,即在同一包下,可以相互访问其他类的成员,但是不在同一包下,这些类的成员就如private访问类型一样。
1.5 复用具体类
即之后会提到的 组合 方式 <has-a>
1.6 继承<is-a>
1.7 伴随多态的可互换对象
1.向上转型引出的:静态绑定 和 动态绑定
2.静态绑定:在编译期确定调用的具体方法,而不是在运行期;
3.动态绑定:在编译期用 一小段代码 代替绝对地址调用,此段代码可以在运行时计算出需要调用具体方法的地址;这样就可以实现根据不同的对象具有不同的实现方式的目的;
*动态绑定是向上转型的核心,也是 工厂模式 实现的主要核心内容。
1.8 单根继承机构
所有的类都继承自单一的基类 Java --- <Object>
1.9 容器
如Collection,Map等
1.10 对象的创建和生命期
1.C++:认为效率控制是最重要的议题,所以给了程序猿选择的权利。对象的存贮空间和生命周期在编写程序时确定。
2.对象置于:堆栈 或 静态存储区域;这将存贮空间分配和释放置于优先考虑位置;在编程是需要确切的知道对象的数量、生命周期、类型;查找和释放不需要过多时间;
3. 堆(heap)内存池:动态的创建对象; 相对而言,查找和释放需要更多的时间;Java采用了动态的内存分配方式;
4.垃圾回收机制:所有的对象都是单根继承 和 只能以一种方式创建对象<在堆上创建> 这两个特性结合起来。
1.11 异常处理:处理错误
异常处理不是面向对象的特征
1.12 并发编程
1.13 Java 与 Internet
对象导论 Thinking in Java 第一章的更多相关文章
- “全栈2019”Java第一章:安装JDK11(Mac)
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 文章原文链接 “全栈2019”Java第一章:安装JDK11(Mac) 下一章 “全栈2019”Java ...
- Java第一章----Java概述+环境搭建
写在前面的话: Java基础的东西看过好几遍,但是过一段都就忘记了,所以这次我决定花费一些时间整理一个系列博客供以后方便查阅.此系列根据Java编程思想+Java核心技术两本书整理而来,这两本书也是我 ...
- Java 第一章 初识Java
第一章笔记 什么是计算机程序:算机为完成某些功能生产的一系列有序指令集合 Java技术包括: java SE:标准版 java EE:企业版 Java ME:移动版 开发Java程序步骤:1.编写 2 ...
- Java第一章
第一章 计算机程序:计算机为完成某些功能产生的一系列有序指令集合. Java技术包括:JavaSE(标准版) JavaEE(企业版) ---JavaME(移动版) 开发Java程序步骤:1.编写 2 ...
- 20165233 Java第一章学习总结
20165233 2017-2018-2 <Java程序设计>第一周学习总结 教材学习内容总结 第一章 Java特点:语法简单.面向对象.与平台无关.动态. 字节码不能被任何平台直接识别. ...
- 学习JAVA第一章的心得
我抱着万分期待的心情开始了我第一天的JAVA学习课程,其实在第一开始的时候我对计算机行业便有很高地兴趣了.这主要归功于我真的从很小开始就就接触了电脑.进入学校以来,我就很期待老师会怎样教我们,会怎样带 ...
- 疯狂java——第一章 java语言概述与开发环境
J2ME: 主要用于控制移动设备和信息家电等有限存储的设备. J2SE: 整个java技术的核心和基础,它是J2ME和J2EE编程的基础. J2EE: Java技术中应用最广泛的部分,J2EE提供了企 ...
- Effective java第一章引言
菜鸟一枚,开始读第一本书<Effective Java>(第二版)~ 看引言就有好多名词不懂(>_<) 导出的API由所有可在定义该API的包之外访问的API元素组成.一个包的 ...
- 自学Java第一章——《Java概述》
1.1 Java历史 Java诞生于SUN(Stanford University Network),09年SUN被Oracle(甲骨文)收购. Java之父是詹姆斯.高斯林(James Goslin ...
随机推荐
- React Native微信分享 朋友圈分享 Android/iOS 通用
超详细React Native实现微信好友/朋友圈分享功能-Android/iOS双平台通用 2016/06/16 | React Native技术文章 | Sky丶清| 暂无评论 | 1 ...
- Alarm(硬件时钟) init
http://blog.csdn.net/angle_birds/article/details/17302297 Alarm就是一个硬件时钟,前面我们已经知道它提供了一个定时器,用于把设备从睡眠状态 ...
- Linux下缓冲区溢出攻击的原理及对策(转载)
前言 从逻辑上讲进程的堆栈是由多个堆栈帧构成的,其中每个堆栈帧都对应一个函数调用.当函数调用发生时,新的堆栈帧被压入堆栈:当函数返回时,相应的堆栈帧从堆栈中弹出.尽管堆栈帧结构的引入为在高级语言中实现 ...
- linux后台开发排错常用工具
一.前言 二.工具介绍 1.ps 查看进程信息 2.gstack 查看进程堆栈 3.pmap 查看程序分配的内存 4.ldd 查看程序用到的动态链接库 5.strace 用来跟踪和监视程序的每一个系统 ...
- 制作动画效果:《CSS3 Animation》
在开始介绍Animation之前我们有必要先来了解一个特殊的东西,那就是"Keyframes",我们把他叫做“关键帧”,玩过flash的朋友可能对这个东西并不会陌生.下面我们就一起 ...
- 2016年12月3日 星期六 --出埃及记 Exodus 20:24
2016年12月3日 星期六 --出埃及记 Exodus 20:24 "`Make an altar of earth for me and sacrifice on it your bur ...
- 2016年6月27日 星期一 --出埃及记 Exodus 14:24
2016年6月27日 星期一 --出埃及记 Exodus 14:24 During the last watch of the night the LORD looked down from the ...
- 使用cookie保存页面登录信息
1.数据库连接配置页面:connectvars.php <?php//数据库的位置define('DB_HOST', 'localhost');//用户名define('DB_USER', 'r ...
- Linux下常用的shell命令记录1
硬件篇 CPU相关 lscpu #查看的是cpu的统计信息. cat /proc/cpuinfo #查看CPU信息详细信息,如每个CPU的型号,主频等 内存相关 free -m #概要查看内存情况 ...
- oracle一列中的数据有多个手机号码用逗号隔开,我如何分别取出来?
ID NUMBER1 137xxxx,138xxxx取出来成ID NUMBER1 137xxxx1 138xxxx create table test (id int, phone varchar2( ...