我们大可将interface视为abstract class的延伸。
首先,interface默认具有abstract属性,所以你不能new一个interface。
其次,interface中的方法默认为public。由[#0x000E] 可知,如果一个imp class实现了一个interface(相当于一个ext class继承了一个base class),那么imp class中对interface中声明方法的实现(相当于是覆写方法)也必须是public。
再次,interface中的field默认为public + static + final,但不能为blank final,即必须初始化。
还有,和abstract class一样,interface支持向上转型,即原来对一般base class的向上转型用法对interface同样适用。
p.s. 如果abstract class或是interface声明为public,则必须与.java文件同名,这一点与一般的public class无异。
2011-10-31 补充:
interface中的方法你可以看成是abstract,但是不能声明为abstract
2012-04-10 补充:
interface中的方法不能是static