Bootstrap

java中interface的使用以及注意事项

一、接口(interface)基本概念

接口(interface):是java中一种引用数据类型,可以看做方法的集合,其内部主要就是封装了方法,包含抽象方法(JDK 7及以前),默认方法和静态方法(JDK 8),私有方法(JDK 9).

二、使用格式

1.定义格式:
  public interface 接口名称{
    //抽象方法
   //默认方法
   //静态方法
   //私有方法
   //常量
   }
2. 实现接口的类定义:
   public class 类名 implements 接口名{
   //实现接口中抽象方法(必须)
   //重写接口中默认方法(可选)
   }

三、注意事项

  1.接口不能创建对象,但可以被实现,接口的子类必须实现接口中所有的抽象方法.默认方法是可选的.
  2.接口中无法定义变量,可以定义常量,默认使用public static final修饰(永远不可变)
  3.接口中没有构造方法,没有代码块

四、接口(interface)中各类方法详解

1.抽象方法:
  使用abstract修饰的方法,子类必须实现使用
  public abstract void method();
  注意:所有方法在接口中(定义上)都是默认抽象方法,所以abstract关键字也可以不写,而接口代表对外行为的集合,在方法的声明中,所有都默认是 public,所以public也可以不写 可以直接写成(void methods);

2.默认方法
  使用default修饰,不可省略,供子类调用或重写(只能通过最终实现类调用, 不能通过抽象类调用)
  public default void method(){
   //执行语句
  }

    public interface Test{
         public default void print(){
              System.out.print("我是默认方法");
         }
     }
     public class TestImpl implements Test{
         //1.什么也不写,通过对象即可调用
         //2.或者进行重写  
     }

3.静态方法
  用static 修饰,供接口直接调用.只能通过接口名称调用.子类不能继承或重写
  public static void method(){
   //执行语句
  }

  public interface Test{
         public static void print(){
             System.out.ptinr("我是静态方法");
         }
     }
     public class TestImpl  implements Test{
         //无法重写也无法继承静态方法
     }

4.私有方法
  使用private修饰,供接口中的默认方法或静态方法调用
  private void method(){
   //执行语句
  }

;