看到第六章了, 心情越来越激动,不由写份BLOG,抒发下感情,think in java--一本神书我一个朋友如实说,确实我发现了很多新的东西,我以前对JAVA只是了解他的一个大体框架,并没有深入的去学习,这本书充实了我,对其中的一些概念,讲的如此透彻清晰,就如同白话一般,我本来对E文不感兴趣的,现在我竟然也能配合他的E文版加金山快译,翻译几段,我有了学习英语的兴趣,每看完他写的code如果能够读懂或者花了一段时间读懂,是件非常愉快的事情,他让我增加了自信!后面的练习题必须是要做的,只有做了,才感觉真正收获了知识,外国人写的课题比较有趣!从昨天晚上看到了Reusing Class(复用类),今天还差3页没看完,最后这段讲的final关键字用法,前部分讲解的是组合技术与继承组合技术下面的代码可以说明问题:
// www.BruceEckel.com. See copyright notice in CopyRight.txt.
class Engine {
public void start() {}
public void rev() {}
public void stop() {}
}
class Wheel {
public void inflate(int psi) {}
}
class Window {
public void rollup() {}
public void rolldown() {}
}
class Door {
public Window window = new Window();
public void open() {}
public void close() {}
}
public class Car {
public Engine engine = new Engine();
public Wheel[] wheel = new Wheel[4];
public Door
left = new Door(),
right = new Door(); // 2-door
public Car() {
for(int i = 0; i < 4; i++)
wheel[i] = new Wheel();
}
public static void main(String[] args) {
Car car = new Car();
car.left.window.rollup();
car.wheel[0].inflate(72);
}
}
在一个类中创建另一个类对象的引用,然后直接使用来自这个引用的接口,这样的代码看起来细腻紧凑有很强的从属关系就象书中说的(has-a)关系我是这样理解组合技术的。当然很肤浅,有高手在给予补充,继承就是从一个基类派生一个新类,这个新类,可以使用基类中所有的接口,还可以重载,添加一些新的方法,当然在派生的新类代码中第一件事,就是在构造器中Super.一下基类的构造器,否则,他什么都不能做就写到这了,不浪费时间了,看书....