java 的接口到底起什么作用?
1、从书中看到的是java程序的接口中只定义了常量及空方法,空的方法有什么用呢?还要在类中写方法体,那还要接口干什么?
2、一个程序中写了2个接口,并在同一个类中写方法体,这与多继承有什么关系。
3、包中那些已定义的接口,怎么知道那里面定义了什么方法。
说到底,接口有什么实际意义,哪本书都不讲,一味的讲是多继承,不结合实际实在不好懂。
Madai的理解是:
java接口的用处主要体现在下面几个方面:
(1)通过接口可以实现不相关类的相同行为,而不需要了解对象所对应的类。
(2)通过接口可以指明多个类需要实现的方法。
(3)通过接口可以了解对象的交互界面,而不需了解对象所对应的类。
**
abstract
**
1、用abstract关键字来表达的类,其表达形式为:(public)abstract class 类名{}
2、抽象类不能被实例化,也就是说我们没法直接new 一个抽象类。抽象类本身就代表了一个类型,无法
确定为一个具体的对象,所以不能实例化就合乎情理了,只能有它的继承类实例化。
3、抽象类虽然不能被实例化,但有自己的构造方法(这个后面再讨论)
4、抽象类与接口(interface)有很大的不同之处,接口中不能有实例方法去实现业务逻辑,而抽象类
中可以有实例方法,并实现业务逻辑,比如我们可以在抽象类中创建和销毁一个线程池。
5、抽象类不能使用final关键字修饰,因为final修饰的类是无法被继承,而对于抽象类来说就是
需要通过继承去实现抽象方法,这又会产生矛盾。(后面将写一篇关于finally的文章详细讨论)