package com.abstracted;
public interface define {
//jdk1.8之后新增抽象方法abstract和非抽象方法default
public default void a(){
System.out.println("这是一个非抽象方法default");
}
public abstract void b();
public static void c(){
System.out.println("这是一个静态方法");
}
}
class Realization implements define{
@Override
public void b() {
System.out.println("这是一个抽象重写");
}
//对非抽象方法重写,则实现类中没有default
@Override
public void a() {
System.out.println("这是一个非抽象重写");
}
public static void c(){
System.out.println("这是一个静态方法不可被重写");
}
//要记得静态方法需要静态方法调用
public void pool(){
//调用接口中的defaul方法a
/*define.super.a();*/
define.c();
}
}
class invoke{
public static void main(String[] args) {
Realization realization = new Realization();
realization.pool();
//这了只是调用了静态的接口C方法
define.c();
}
}