接口中静态方法和默认方法
接口:
package cn.dali.code20;
/*默认方法:
* 默认方法是可以在接口中写执行体的。主要作用:
* 1.接口升级,可以避免改变其他实现类。
* 2.函数拼接
* 格式:public default 返回值方法名(){}
*
* 注意:接口的默认方法,可以直接使用实现类的对象进行调用
* 也可以在实现类中对其进行覆盖重写。
*
* 静态方法:
* 因为静态方法不可以实例化,在接口中也是一样的
* 所以在接口中定义静态方法的作用就是静态方法的作用:
* 不需要实例化,直接使用,节省内存空间。
* 格式:public static 返回值 方法名(){}
*
* 注意:接口中静态方法和类中静态方法一样,只能通过接口.静态方法名的方式调用*/
public interface Interface {
public abstract void f1();
public abstract void f2();
public default void f3(){
System.out.println("默认方法执行");
}
public static void f4(){
System.out.println("接口静态方法执行");
}
}
主方法:
package cn.dali.code20;
public class dmo02 {
public static void main(String[] args) {
InterfaceImpl a = new InterfaceImpl();
a.f1();
a.f2();
a.f3();
Interface.f4();
}
}
实现类:
package cn.dali.code20;
public class InterfaceImpl implements Interface {
@Override
public void f1() {
}
@Override
public void f2() {
}
}