铜川泰士公馆建设网站,网站开发与维护介绍,百度创建网站,产品开发项目管理Java接口说明 jdk1.8之前接口只能是抽象方法。实现接口必须重写所有方法#xff0c;比较麻烦。在java8中#xff0c;支持default和static方法#xff0c;这样#xff0c;实现接口时#xff0c;可以选择是否对default修饰的方法重写。 抽象方法
接口当中的抽象方法#x…Java接口说明 jdk1.8之前接口只能是抽象方法。实现接口必须重写所有方法比较麻烦。在java8中支持default和static方法这样实现接口时可以选择是否对default修饰的方法重写。 抽象方法
接口当中的抽象方法修饰符必须是两个固定的关 键字:public abstract 这两个关键字修饰符可以选择性地省略。 方法的三要素可以随意定义。
public interface MyInterfaceAbstract{
//这是一个抽象方法
public abstract void methodAbs1();
//这也是抽象方法
abstract void methodAbs20:
// 这也是抽象方法
public void methodAbs3();
//这也是抽象方法 void methodAbs4();
}default方法 当一个接口要添加一些新的公共逻辑写了一个新的方法那么所有的实现类都需要重写新方法如果实现类太多会非常麻烦。这时可以使用 default。 接口中的default方法可以写方法内容。接口中的default方法不强制实现类重写不会影响到已有的实现类。接口的实现类可以调用接口中的default方法。
static方法
接口中的static方法可以写方法内容。接口中的static方法不允许实现类重写(如果重写方法加上Override会报错)不会影响到已有的实现类。接口中的static方法可以直接通过接口名称调用,也可通过实现类名称调用。
public interface OrderService {/*** 接口中的变量都是 默认 public static final的可以不用写这些修饰符*/String NAME static;/*** static方法可以直接通过接口名称调用 static方法。* 比如 OrderService.selectName();**/static String selectStatic() {return NAME;}/*** default方法可以写方法内容实现类不强制重写 default方法。**/default String selectDefault() {return default;}String selectOrder();
}public class OrderServiceImpl implements OrderService {Overridepublic String selectOrder() {return order;}
}public class InterfaceTest {public static void main(String[] args) {OrderServiceImpl orderServiceImpl new OrderServiceImpl();//接口的实现类可以调用接口中的default方法String user orderServiceImpl.selectDefault();System.out.println(selectDefault()结果为user);//static方法可以直接通过接口名称调用无需实例化String name OrderService.selectStatic();System.out.println(OrderService.selectStatic()结果为 name);}
}