对象导论 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 ...
随机推荐
- Hibernate,JPA注解@ManyToMany_JoinTable
可以通过@ManyToMany注解可定义的多对多关联.同时,也需要通过注解@JoinTable描述关联表和关联条件.如果是双向关联,其中一段必须定义为owner,另一端必须定义为inverse(在对关 ...
- Mootools插件-闪烁的标题
转自:http://www.cnblogs.com/see7di/archive/2012/10/09/2716024.html 回想起来,我已经好久没有写点啥了,尤其是关于Mootools方面的东西 ...
- Windows通过DOS命令进入MYSQL的方法
例:MYSQL安装在 D:\ApacheServer\mysql 下 开始==>运行==>cmd,或者 按住win键+r键输入cmd C:\Users\Administrator>d ...
- shareSDK集成步骤
按下面目录结构吧sdk的目录文件拷贝到自己的工程中 针对各个平台的分享格式,整理成了一个工具类,不同的平台分享的参数http://wiki.mob.com/不同平台分享内容的详细说明/ package ...
- AtomicInteger类保证线程安全的用法
J2SE 5.0提供了一组atomic class来帮助我们简化同步处理.基本工作原理是使用了同步synchronized的方法实现了对一个long, integer, 对象的增.减.赋值(更新)操作 ...
- 20150602_Andriod 向窗体传递参数
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:too ...
- Poj(1220),hash
题目链接:http://poj.org/problem?id=1200 这个题,我真是无限MLE,RE,WA,太伤心了,还是写一下吧.题意很简单(英语很好读),最后看了一下金海峰的思路.果然,应该是我 ...
- [小技巧] git: Your branch and 'origin/master' have diverged
本文参考:http://stackoverflow.com/questions/19864934/git-your-branch-and-origin-master-have-diverged-how ...
- java提高篇---ArrayList
一.ArrayList概述 ArrayList是实现List接口的动态数组,所谓动态就是它的大小是可变的.实现了所有可选列表操作,并允许包括 null 在内的所有元素.除了实现 List 接口外,此类 ...
- 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 ...