内蒙住房和城乡建设部网站首页,太原网站建设小程序,网站开发与网站建设,wordpress分页调用文章目录一、概念二、格式1.使用interface来定义接口2.implements实现接口三、接口中的成员1.常用成员2.新增成员#xff08;不重要#xff09;2.1 默认方法2.2 静态方法2.3 私有方法四、继承关系 实现关系五、抽象类和接口的使用区别一、概念
接口就是规范\规则…
文章目录一、概念二、格式1.使用interface来定义接口2.implements实现接口三、接口中的成员1.常用成员2.新增成员不重要2.1 默认方法2.2 静态方法2.3 私有方法四、继承关系 实现关系五、抽象类和接口的使用区别一、概念
接口就是规范\规则我们可以使用接口来定义一些规则 比如要求某个方法的方法名必须叫什么方法的参数列表必须是什么方法的返回值类型必须是什么
二、格式
1.使用interface来定义接口
public interface 接口名{//定义抽象方法。public abstract被省略了void method();
}2.implements实现接口
果要实现多个接口多个接口名用逗号分开。我们在理解的时候可以把接口理解成是一个特殊的父类。
public class 类名 implements 接口名{}三、接口中的成员
1.常用成员
在jdk7版本中接口中只能有常量和抽象方法。
接口中定义不了成员变量定义的成员变量默认都会修饰为public static final定义的方法默认修饰符为public abstract**
public interface InterfaceA {//常量int NUM 10;//等价于public static final int NUM 10;//抽象方法void method();//等价于 public abstract void method();
}2.新增成员不重要
默认方法、静态方法、私有方法
2.1 默认方法
在jdk8中允许我们在接口中定义默认方法。默认方法允许有方法体。默认方法可以选择不进行重写。也可以重写看需要。注意事项如果两个接口中有相同的默认方法。一个类同时实现了这两个接口必须要重写该方法。应用场景如果在接口升级的时候某些方法并不想让所有的实现类进行重写可以使用默认方法来定义。
public interface InterfaceA {//默认方法使用defaut关键字进行修饰。default void method(){}
}2.2 静态方法
在jdk8中允许我们在接口中定义静态方法。静态方法允许有方法体。静态方法不能被重写。应用场景如果在接口升级的时候需要给接口增加一些工具方法。不想让实现类去重写该方法可以使用静态方法来定义。
public interface InterfaceA {//静态方法使用static关键字进行修饰。static void staticMethod(){}
}public class Demo {public static void main(String[] args) {//使用接口名.方法名(参数) 来调用InterfaceA.staticMethod();}
}2.3 私有方法
在jdk9中允许我们在接口中定义私有方法。私有方法允许有方法体。私有方法不可以被重写。应用场景对默认方法或者是静态方法中重复的代码进行抽取提高代码复用度。
public interface InterfaceA {
// 使用private修饰
//加上static的原因静态方法只能调用静态方法如果是静态方法调用就要在此方法中加上staticprivate static void privateStaticMethod(){}private void privateMethod(){}
}四、继承关系 实现关系
在java中一个类可以实现多个接口 public class Person implements InterfaceA,InterfaceB{}在java中接口和接口之间可以有继承关系。继承之后实现类会把父接口的成员继承下来。
public interface InterfaceC extends InterfaceA{}五、抽象类和接口的使用区别
接口中的基本都是抽象的而在抽象类中可以有一部分是非抽象方法。而非抽象类中是不可以有抽象方法的。接口是最抽象的其次是抽象类最后是非抽象类。所以我们最顶层设计成接口然后实现类设计成抽象类实现部分抽象方法抽象类的子类可以设计成非抽象类对剩下的所有抽象方法进行实现。