zoukankan      html  css  js  c++  java
  • java 接口

    概念

    接口(英文:Interface),在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明。一个类通过继承接口的方式,从而来继承接口的抽象方法。

    接口并不是类,编写接口的方式和类很相似,但是它们属于不同的概念。类描述对象的属性和方法。接口则包含类要实现的方法。

    除非实现接口的类是抽象类,否则该类要定义接口中的所有方法。

    接口无法被实例化,但是可以被实现。一个实现接口的类,必须实现接口内所描述的所有方法,否则就必须声明为抽象类。另外,在 Java 中,接口类型可用来声明一个变量,他们可以成为一个空指针,或是被绑定在一个以此接口实现的对象。

    补充:如果对接口不是很了解,请参考我另一篇博客详细介绍:https://www.cnblogs.com/chenyanbin/p/11020578.html

    基本格式

    1 public interface 接口名称test {
    2    //任何类型 final, static 字段
    3    //抽象方法
    4 }

    接口当中包含的组成部分有:

      1、抽象方法

      2、常量

      3、默认方法【java 8】

      4、静态方法【java 8】

      5、私有方法【java 9】

    抽象方法

    注意:

      1、接口中的抽象方法,修饰符如果写必须是:public abstract

      2、接口中的抽象方法,修饰符可以省略不写,默认就是:public abstract

      3、抽象方法只有方法头,不能有方法体大括号

     1 /*
     2  * 如何定义一个抽象方法
     3  * public abstract 返回值类型 方法名称(参数类型 参数名称)
     4  */
     5 public interface Animal {
     6     // 定义一个抽象方法:吃东西
     7     public abstract void Eat();
     8 
     9     // 定义另一个抽象方法:睡觉
    10     // 省略了public abstract也照样是抽象方法
    11     /* public abstract */ void Sleep();
    12 }

    接口实现

     1 /*
     2  * 如何要使用定义好的接口,必须有一个接口的“实现类”
     3  * 定义实现类格式为
     4  * 
     5  * public class 实现类名称 implements 接口名称{
     6  *         //重写所有的抽象方法
     7  * }
     8  * 
     9  */
    10 public class Cat implements Animal {
    11 
    12     @Override
    13     public void Eat() {
    14         System.out.println("猫爱吃鱼~");
    15     }
    16 
    17     @Override
    18     public void Sleep() {
    19         System.out.println("猫喜欢睡觉~");
    20     }
    21 
    22     public void CatchMouse() {
    23         System.out.println("猫抓老鼠~");
    24     }
    25 }

    函数式接口

     1 /*
     2  * 函数式接口
     3  *     有且仅有一个抽象方法的接口
     4  * 
     5  * 在接口上加上:@FunctionalInterface
     6  */
     7 @FunctionalInterface
     8 public interface Calculator {
     9     int sum(int a, int b);
    10 }
  • 相关阅读:
    linux安装mongodb磁盘空间不足
    ccf颁奖晚会
    Bug总结流程
    测试自学过程
    一个div,包含两个div,调整文字位置和div平均分布
    一个div,包含三个小的div,平均分布的样式
    测试成长之路
    k8s常用命令记录
    K8S 1.20.6安装dashboard(基于kubernetes-dashboard 2.0.0版本)
    F. Programming Contest
  • 原文地址:https://www.cnblogs.com/chenyanbin/p/11623351.html
Copyright © 2011-2022 走看看