Think Java 4 学习笔记
ti记:
最近在看Think Java 4(中文),顺便把学习笔记记下来供以后参看。其中包含之前理解不到位的、含糊的、不清楚的简要说明。
第1章 对象导论··· ···
?
?
第2章 一切都是对象2.1引用操作对象一切都看做对象,但操作的标示符实际上是对象的一个引用。
2.2必须由你创建所有对象5个储存的位置,基本类型特例(适配器模式);
java中的数组与C/C++区别;C/C++中的数组是内存块,如果一个程序要访问其自身内存块,或在数组初始化前使用它,都会报错。java确保数组初始化,而且不能在其范围之外被访问。这种范围检查,是以每个数组上少量的内存开销及运行时的下标检查为代价的。
2.3永远不需要销毁对象区分了java与C/C++对于作用于的不同;另外java垃圾回收;
?
2.6构建一个java程序static关键字;使用static定义的字段和方法,都可直接被类调用而不用先生成其对象,再去调用。(即不会与包含它的那个类的任何对象实例关联在一起)
?
2.7你的第一个java程序java.lang包是默认导入每个java文件的;ShowProperties.java;
?
System.getProperties().list(System.out);
? ?System.out.println(System.getProperty("user.name"));
? ? System.out.println(
? ? System.getProperty("java.library.path"));
?
?
基本类型存储了实际数值,而并非指向一个对象的引用;所以在为其赋值的时候,是直接将一个地方的内容复制到另一个地方。而将一个对象赋值给另一对象,是将“引用”从一个地方复制到另一个地方。
“==”、“!=”、equals();比较的是对象的引用。
? ? Integer n1 = new Integer(47);
? ? Integer n2 = new Integer(47);
? ? System.out.println(n1 == n2);//false
? ? System.out.println(n1 != n2);//true
在应该使用String值的地方使用了boolean类型值,会自动转成适当的String(好像所有的类型都可以通过Object类的toString()方法进行转换);可将整数替换成出boolean类型的任何基本数据类型。
?
第4章 控制执行流程4.6 break 和 continue无穷循环两种形式,for(;;)、while(true);可采用break退出,采用continue继续。
4.7 臭名昭彰的“goto”标签 ··· ···
?
第5章 初始化和清理5.2 方法重载区分重载方法的规则:方法参数类型列表。(参数的类型、个数、外加参数的顺序)。
5.5 清理:终结处理和垃圾回收java里的对象并非总是被垃圾回收:1、对象可能不被垃圾回收;2、垃圾回收并不等于析构;3、垃圾回收只与内存有关。
?
?
?
?
?
(待续)