interface和abstract interface 有什么区别?今天来试验一下,实验代码如下:
public class Test { public static void main(String[] args){ PA pa = new PA(); pa.printA(); PB pb = new PB(); pb.printB(); }}interface A{ public void printA();}abstract interface B{ public void printB();}class PA implements A{ public void printA(){ System.out.println("A"); }}class PB implements B{ public void printB(){ System.out.println("B"); }}
首先可以正确编译运行,输出A、B。网上有说abstract interface 只能被interface 继承,不能直接被类implements的说法看来是错误的。
反编译A.class 和 B.class
interface A{ public abstract void printA();}
interface B{ public abstract void printB();}可以看出 interface和abstract interface进行的是同样的处理。目前来看两则没有任何区别,欢迎大家讨论补充。