面向接口编程...以后你会理解,一般java的API里面都会有一些接口或抽象类,同时会有多种实现类,正如List是一个接口,实现这个接口的有很多个类(ArrayList,LinkedList...),适用不同的需求,为了以后的维护简单,我们不能把程序写死,所以一般在定义变量或者定义参数类型还是返回值类型时,尽量使用接口来引用变量,只要是实现了这接口的就行,而不是特定的一个类,所以如果有一个函数需要传进一个Runnable类型的而Thread又没有实现Runnable接口,那岂不是连编译都编译不过去?学了spring的话应该就很容易理解这种做法 |