首页IT科技接口和接口实现类(接口新特性)

接口和接口实现类(接口新特性)

时间2025-04-30 18:08:03分类IT科技浏览3020
导读:接口组成更新...

接口组成更新

接口的组成:常量            ,抽象方法

Java8之前 常量:public static final 抽象方法:public abstract 默认方法(Java8) 静态方法(Java8) 私有方法(Java9)

接口中默认方法(Java8)

接口中默认方法的格式:

格式:public default 返回值类型 方法名(参数列表){} 定义一个接口                 ,里面有两个抽象方法      ,以及一个默认方法: public interface MyInterface { void show1(); void show2(); //默认方法            ,有方法体 //public关键字可以省略 public default void show3(){ System.out.println("MyInterface show3"); } } 定义接口的实现类                 ,实现接口中的抽象方法: public class MyInterfaceImpl1 implements MyInterface { @Override public void show1() { System.out.println("1.show1"); } @Override public void show2() { System.out.println("1.show2"); } } 定义测试类: public class MyInterfaceDemo { public static void main(String[] args) { //按照多态的方式创建对象并使用 MyInterface my = new MyInterfaceImpl1(); my.show1(); my.show2(); my.show3(); } } 运行结果: 1.show1 1.show2 MyInterface show3 接口中的show3方法也能够在接口的实现类中重写: public class MyInterfaceImpl1 implements MyInterface { @Override public void show1() { System.out.println("1.show1"); } @Override public void show2() { System.out.println("1.show2"); } //重写接口中的默认方法show3 @Override public void show3() { System.out.println("1.show3"); } } 运行测试类: 1.show1 1.show2 1.show3

接口中默认方法的注意事项:

接口中的默认方法不是抽象方法      ,不强制重写            。但可以重写      ,重写时去掉关键字default 接口中的默认方法                 ,public关键字可以省略            ,但default关键字不能省略

接口中静态方法(Java8)

接口中静态方法的格式:

格式:public static 返回值类型 方法名(参数列表){} 定义一个接口      ,里面有抽象方法                 ,默认方法和静态方法: public interface Inter { //抽象方法 void show1(); //默认方法 default void show2(){ System.out.println("Inter show2"); } //静态方法            ,public关键字可以省略,static关键字不能省略 public static void show3(){ System.out.println("Inter show3"); } } 定义一个接口的实现类                 ,并实现接口中的抽象方法: public class InterImpl implements Inter{ @Override public void show1() { System.out.println("InterImpl show1"); } } 定义测试类 public class InterDemo { public static void main(String[] args) { //多态的方式创建对象 Inter id = new InterImpl(); id.show1(); id.show2(); //接口中的静态方法                 ,只能被接口调用 Inter.show3(); } } 运行结果: InterImpl show1 Inter show2 Inter show3

接口中静态方法的注意事项:

接口中静态方法只能通过接口名调用,不能通过实现类名或者对象名调用 接口中静态方法的public关键字可以省略            ,static关键字不能省略

接口中私有方法(Java9)

接口中私有方法的格式:

格式1:private 返回值类型 方法名(参数列表){} 格式2:private static 返回值类型 方法名(参数列表){} 定义一个接口                 ,里面有抽象方法      ,默认方法和静态方法: public interface Interf { //抽象方法 void show1(); //默认方法 default void show2(){ System.out.println("默认方法开始"); //默认方法可以调用非静态私有方法            ,也可以调用静态私有方法 show4(); show5(); System.out.println("默认方法结束"); } //静态方法 static void show3(){ System.out.println("静态方法开始"); //静态方法只能调用静态私有方法 show5(); System.out.println("静态方法结束"); } //私有方法1                 ,非静态私有方法 private void show4(){ System.out.println("私有方法1"); } //私有方法2      ,静态私有方法 private static void show5(){ System.out.println("私有方法2"); } } 定义一个接口的实现类      ,并实现接口中的抽象方法: public class InterfImpl implements Interf{ @Override public void show1() { System.out.println("InterfImpl show1"); } } 定义测试类: public class InterfDemo { public static void main(String[] args) { //多态方式创建对象 Interf i = new InterfImpl(); i.show1(); System.out.println("-------------"); i.show2(); System.out.println("-------------"); //接口名调用静态方法 Interf.show3(); } } 运行结果: InterfImpl show1 ------------- 默认方法开始 私有方法1 私有方法2 默认方法结束 ------------- 静态方法开始 私有方法2 静态方法结束

接口中私有方法的注意事项:

接口中的默认方法                 ,可以调用非静态私有方法            ,也可以调用静态私有方法 静态方法只能调用私有的静态方法

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
yolov3目标识别不显示概率(使用YOLOv5实现图片、视频的目标检测) 怎么样才能让百度收录(如何让百度快速收录你的网站?)