看了一篇文章,从后往前看的,作者在后面对比了java官方的tutorial说怎么怎么inane,呵呵呵
摘几句话吧:
1. Java里,classes和interfaces同等重要。
2,java官网说自己的tutorial是Java API,严格意义上说不对。
3,interface可以继承,list和set就都是collection的子类。可以implement多个interface,例如ArrayList has these interfaces: {Cloneable, Collection, List, RandomAccess, Serializable}。来张图:
4,有的interface里面啥都没有,这些是marker interface。
Reference:http://xahlee.info/java-a-day/interface.html
对比abstract class:
1,interface一般没有member 或者varibale,一般都是methods,所以告诉两个类如何互相搞。这表示的是两个不容属性类的关系。
2,abstract是一个简化类,就像是一个base class,但就没有定义任何,只是一个架子。这表示的是平常的子类继承父类的关系。
两者虽都是需要被别的类inherit或者implement,但目的不同,要区别开来。
又记,在C++,interface就是在类里method之前加个virtual 关键字,类里没有member。