Java接口本身没有任何实现,因为Java接口不涉及表象,而只描述public行为,所以Java接口比Java抽象类更抽象化。
以上是百度百科中对接口的定义,这个定义已经不准确。
Java8对接口做了进一步的增强。
1.在接口中可以添加使用 default 关键字修饰的非抽象方法。
2.接口里可以声明静态方法。interface名.静态方法名()直接时候用。(暴力吧)
//定义一个接口,有三个方法。
public interface IfTestIf {
public static void destroyed() {
System.out.print("静态方法被实现类得到-----");
}
public default void initial() {
System.out.print("默认方法被实现类得到-----");
}
public abstract void abstractMethod();
}
//定义一个类,实现上面的接口,重写抽象方法。
public class IfTestClass implements IfTestIf {
@Override
public void abstractMethod() {
System.out.print("重写的抽象方法-----");
}
}
//定义一个类,在Main里执行一下试试。
public class IfTestMian {
public static void main(String[] args) {
IfTestIf itc= new IfTestClass();
itc.abstractMethod();
itc.initial();
IfTestIf.destroyed();
}
}
执行结果:
重写的抽象方法-----默认方法被实现类得到-----静态方法被实现类得到-----