看了前5章,我发现《Java编程思想》和其它Java教程和教材有很大的不同,尤其是和《Java核心编程》区别很大。《Java核心编程》有点类似于Java语法手册和教材,文风版式也都符合这个定位。而《Java编程思想》则不同,它不适合新手使用,经常出现大段的长文字和长代码,没有耐心和基础不容易下去。虽然文字和代码多,但却都是精华,没有废话。收藏多年,头一次研读,收获不小。
1. 关于Java中类的字段、方法、构造函数的初始化顺序 P94
三者谁先谁后?是按照代码顺序还是有什么规则?假如某类按顺序有 :1个 对象字段,1个构造函数,1个方法,再有1个对象字段,那在new 这个类时,它们谁先执行呢?
题目:
答案:
解析:
2. 关于类的静态成员变量的初始化顺序P95
某个类先有1个非静态的对象字段,再有1个构造函数,最后1个静态的对象字段,那么在new 这个类时,谁先执行呢?
书中举了个更复杂的例子。
题目:
答案:
解析:
3. 访问普通类的静态成员变量 P97
题目
这段代码会报错么? Cups 是个普通类,非静态类,但是却在没有new Cups的情况下,直接调用 Cups.cup1.f(99)。
答案:
该代码不会报错,并且正常输出。
解析:
Java中类的静态成员,可以不用创建对象,直接使用 类名.静态成员 的形式直接调用静态成员,与该类 是否使用 static 修饰无关。并且静态成员只初始化一次。