读书笔记——thinking in java
1、一切都是对象,用引用操作对象
1.1程序存储的地方
引用存放在堆栈区(通用的RAM),所有对象存储在堆(一种通用的内存池)。堆和堆栈的区别:堆栈中的这些引用,java系统是要知道确切的生命周期,堆里面的对象数据java系统就不需要知道。堆里面的数据的分配和清理可能会更耗费时间。
1.2高精度数字
java中提供了BigInteger和BigDecimal。方法调用的方式来取代运算符的方式。所以速度会慢了许多。
2、复用类
2.1组合——has-a
2.2继承——is-a
2.3代理
2.4名称屏蔽
父类中有一个被重载多次的函数,在导出类中又被重载了,此时,导出类中支持所有的重载函数,这与C++不一样。C++自动屏蔽基类的方法。
3、final关键字
static final 代表编译期常量
3.1final基本类型——值不变
3.2final对象引用——引用不变,对象可修改
3.3final方法—— 不能被覆盖
两个作用:①把方法锁定,以防止任何继承类修改他的含义。想要确保在继承中方法行为保持不变且不会被覆盖②效率,因为可以讲final方法转内嵌调用,内嵌的话就应该适合代码量小的函数。
类中的所有private方法都隐式的指定为final。由于无法继承private方法,所以也就无法覆盖它。
3.4final类—— 不能被继承(所以final类的方法全被隐式指定为final方法),出于某种考虑,对该类的设计永远不需要做任何改动。
4、多态(动态绑定或者运行时期绑定)
4.1多态的作用
4.2java中除了static、final方法(private属于final方法)其余都是运行期绑定。
4.3返回值不一样在java高德版本中并不影响多态的实现。
读书笔记——thinking in java的更多相关文章
- 读书笔记,《Java 8实战》,第四章,引入流
		集合是Java中使用最多的API,但集合操作却远远算不上完美.主要表现在两点, 第一,集合不能让我们像数据库的SQL语言一样用申明式的语言指定操作: 第二,现在的集合API无法让我们 ... 
- 读书笔记系列之java性能优化权威指南  一 第一章
		主题:java性能优化权威指南 pdf 版本:英文版 Java Performance Tuning 忽略:(0~24页)Performance+Acknowledge 1.Strategies, A ... 
- 读书笔记之深入分析Java Web技术内幕
		章节: 1 B/SB/S的优点: 客户端使用统一的浏览器(Browser) ,浏览器的统一带来了操作的统一,无论使用什么服务,因为浏览器是相同的,所以操作类似.客户使用简单了.服务端开发简化; 使用统 ... 
- 深入Java虚拟机读书笔记第一章Java体系结构介绍
		第1章 Java体系结构介绍 Java技术核心:Java虚拟机 Java:安全(先天防bug的设计.内存).健壮.平台无关.网络无关(底层结构上,对象序列化和RMI为分布式系统中各个部分共享对象提供了 ... 
- 读书笔记之《Java编程思想》
		17. 容器 Set 存入Set的每个元素都必须是唯一的,因为Set不保存重复元素. Set接口不保证维护元素的次序 Map 映射表(关联数组)的基本思想是维护的是键-值(对)关联,因此可以用键来查找 ... 
- Java 读书笔记 (十六) Java 继承
		例: 开发动物类,其中动物分别为企鹅以及老鼠,要求如下: 企鹅: 属性(姓名,id), 方法(吃,睡,自我介绍) 老鼠: 属性(姓名,id), 方法(吃,睡,自我介绍) 企鹅类: public cla ... 
- Java 读书笔记 (十五) Java 异常处理
		捕获异常 使用try 和catch关键字可以捕获异常.try/catch 代码块放在异常可能发生的地方. try/catch 代码块中的代码称为保护代码 ,使用try/catch的语法如下: try ... 
- Java 读书笔记 (十四) Java 方法
		finalize() 方法 finalize() 用来清除回收对象. //为什么要回收内存?怎样写可以避免内存过多占用?什么时候需要手动回收内存? protected void finalize() ... 
- Java 读书笔记 (十二) Java Character 类
		在实际开发过程中, 我们经常会遇到需要使用对象,而不是内置数据类型的情况. 为了解决这个问题, Java语言为内置数据类型char提供了包装类Character类. 可以使用Character的构造方 ... 
随机推荐
- centos6.5中gitlab的搭建
			使用gitlab官网给的源码进行安装,步骤如下: Install a GitLab CE Omnibus package on CentOS 6 (and RedHat/Oracle/Scientif ... 
- device-mapper: multipath: Failing path recovery【转载】
			digoal 2016-04-05 10:09:42 浏览180 评论0 摘要: 由于扇区损坏导致多路径设备failed. 现象如下 : # dmesg : device-mapper: mul ... 
- u盘烧写后实际容量变小了
			百度了一下 : http://jingyan.baidu.com/article/d45ad148f383ea69552b808a.html 百度下载 USBoot 打开软件 列表中选择你的U盘,点击 ... 
- 百度,google的地理编码
			1.百度的地理编码:(不支持中国以外的其它城市) http://api.map.baidu.com/geocoder/v2/?ak=E974997f80db18330f8f5c61d084a677&a ... 
- Tinyxml封装类COperatorXml
			OperatorXml.h头文件 #ifndef _OPERATOR_XML_H_ #define _OPERATOR_XML_H_ #include <string> class TiX ... 
- linux视频学习7(ssh, linux启动过程分析,加解压缩,java网络编程)
			回顾数据库mysql的备份和恢复: show databases; user spdb1; show tables; 在mysql/bin目录下 执行备份: ./mysqldump -u root - ... 
- [转]Android Shape渲染的使用(经典,学习研究不后悔)
			原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://mzh3344258.blog.51cto.com/1823534/1215749 ... 
- HDU 1532 Drainage Ditches (最大网络流)
			Drainage Ditches Time Limit : 2000/1000ms (Java/Other) Memory Limit : 65536/32768K (Java/Other) To ... 
- java 实例方法和类方法的区别
- HDU 4828 Grids(卡特兰数+乘法逆元)
			首先我按着我的理解说一下它为什么是卡特兰数,首先卡特兰数有一个很典型的应用就是求1~N个自然数出栈情况的种类数.而这里正好就对应了这种情况.我们要满足题目中给的条件,数字应该是从小到大放置的,1肯定在 ... 
