接口
public interface MyInterface{
public static final int i = 1 ;
public abstract void f();
public static void g(){
System.out.print("dfdfd");
}
public default void h(){
System.out.print("dfdfd");
}
}
接口和接口
public interface I2 extends MyInterface{
}
类和接口
public class MyClass extends Object implements I2,MyInterface{
}
public abstract class MyClass extends Object implements I2,MyInterface{
}
总结
- 接口和接口之间可以派生,用extends关键字,只能派生一个。
- 接口和类之间可以实现,用implements关键字,类可以实现多个接口。
- 当类即继承父类,也实现接口时,应该先继承再实现。
- 类实现接口时应该实现里面的抽象方法,否则这个类就要变成abstract类。
默认方法冲突
- 父类优先:如果父类和接口中的default方法相同,则优先用父类的。
- 接口冲突:如果两个或者更多接口中的default方法相同,直接报错。
Comparable<> //排序,比大小
@Override
public int compareTo(){
}
Comparator<> //
@Override
public int compare(){
}