当前位置: 首页 > news >正文

接口概述及用法

名词说明:
接口:就是一种公共的规范标准
只要符合规范标准,就可以大家通用。
在程序中是怎么定义接口的:
接口就是多个类的公共规范
接口是一种引用数据类型,最重要的内用就是其中的:抽象方法。
如何定义一个接口的格式:
public Interface 接口名称{}
// 接口内容
Java7接口的内容包括

1.常量
2.抽象方法

java8接口的内容包括
3.默认方法
4.静态方法

java9接口的内容包括
5.私有方法

接口的使用步骤:
1.接口不可以直接使用,必须有一个‘’实现类‘’-类似子类来‘实现‘-类似于extends该接口。

格式:
public class 类名称 extends 父类—(之前学习的格式)

// 接口格式:
public class 实现类名称 implement 接口名称{
// …
}
2.接口的实现类必须覆盖重写(实现)接口中所有的抽象方法。
实现: 去掉abstract关键字,加上方法体大括号。
3.创建实现类的对象,进行使用。

注意事项:
如果实现类并没有覆盖重写接口中所有的抽象方法,那么这个实现类自己就必须是抽象类。

定义一个接口

package Day4;/*
 *@author wanghongyuan
 *@Create 2020/12/10 7:41
 接口中可以定义抽象类

 public abstract 返回值类型 方法名称 (参数列表);----(抽象类没有‘{}’)

 注意事项:
 1.接口当中的抽象方法,修饰符必须是两个固定的关键字:public abstract
 2. 这两个关键字修饰符,可以选择性的省略。
 */

public interface MyInterfaceAbstract {
    // 这是一个抽象方法
    public abstract void methodAbs();

    public  void methodAbs1();
    abstract void methodAbs2();
    void methodAbs3();

}


定义一个接口实现类


package Day4;/*
 *@author wanghongyuan
 *@Create 2020/12/10 7:55
 */

public class MyInterfaceAbstractImpl implements MyInterfaceAbstract{
    @Override
    public void methodAbs() {
        System.out.println("这是第一个方法");
    }

    @Override
    public void methodAbs1() {
        System.out.println("这是第二个方法");
    }

    @Override
    public void methodAbs2() {
        System.out.println("这是第三个方法");
    }

    @Override
    public void methodAbs3() {
        System.out.println("这是第四个方法");
    }
}

定义一个main实现接口的使用

package Day4;/*
 *@author wanghongyuan
 *@Create 2020/12/10 7:58
 */

public class Demo01Interface {
    public static void main(String[] args) {
        // 错误写法,不能直接new接口对象使用
  //      MyInterfaceAbstract inter= new MyInterfaceAbstract();
         // 创建实现类的对象使用
        MyInterfaceAbstractImpl impl = new MyInterfaceAbstractImpl();
        impl.methodAbs();
        impl.methodAbs1();

    }
}


最后可以看到我们运行后的结果

D:\Java\jdk-14.0.2\bin\java.exe "-javaagent:D:\Program Files\JetBrains\IntelliJ IDEA 2020.2.4\lib\idea_rt.jar=61539:D:\Program Files\JetBrains\IntelliJ IDEA 2020.2.4\bin" -Dfile.encoding=UTF-8 -classpath C:\Users\Administrator\IdeaProjects\DaYuanXue\out\production\DaYuanXue Day4.Demo01Interface
这是第一个方法
这是第二个方法

Process finished with exit code 0

相关文章:

  • 接口允许默认的方法。
  • Java9+,接口内容小结
  • 多态的理解
  • 子类和父类的成员变量和成员方法的用法
  • 接口的使用,对象的上下转型
  • Final的用法及注意事项
  • 类的注意事项
  • 超级重要的匿名对象
  • SimpleDateFormat的使用方法及注意事项
  • System中获取当时间,和复制的方法
  • StringBuilder的用法
  • 关于Integer的用法,以Integer为例子,其他八个基本数据类型也可以参照
  • Collection集合学习
  • Iterator迭代器的使用。
  • Java中泛型的概念及使用
  • [笔记] php常见简单功能及函数
  • 【翻译】babel对TC39装饰器草案的实现
  • Babel配置的不完全指南
  • javascript从右向左截取指定位数字符的3种方法
  • LintCode 31. partitionArray 数组划分
  • Mac转Windows的拯救指南
  • nfs客户端进程变D,延伸linux的lock
  • python 装饰器(一)
  • Spring核心 Bean的高级装配
  • 阿里云ubuntu14.04 Nginx反向代理Nodejs
  • 对话 CTO〡听神策数据 CTO 曹犟描绘数据分析行业的无限可能
  • 记录一下第一次使用npm
  • 将回调地狱按在地上摩擦的Promise
  • 十年未变!安全,谁之责?(下)
  • 通过几道题目学习二叉搜索树
  • 线上 python http server profile 实践
  • 小程序开发中的那些坑
  • 用 Swift 编写面向协议的视图
  • 用Visual Studio开发以太坊智能合约
  • Redis4.x新特性 -- 萌萌的MEMORY DOCTOR
  • zabbix3.2监控linux磁盘IO
  • ​决定德拉瓦州地区版图的关键历史事件
  • #HarmonyOS:Web组件的使用
  • (a /b)*c的值
  • (附源码)springboot助农电商系统 毕业设计 081919
  • (附源码)计算机毕业设计SSM基于java的云顶博客系统
  • (全部习题答案)研究生英语读写教程基础级教师用书PDF|| 研究生英语读写教程提高级教师用书PDF
  • (四)JPA - JQPL 实现增删改查
  • (四)Tiki-taka算法(TTA)求解无人机三维路径规划研究(MATLAB)
  • **Java有哪些悲观锁的实现_乐观锁、悲观锁、Redis分布式锁和Zookeeper分布式锁的实现以及流程原理...
  • *2 echo、printf、mkdir命令的应用
  • .Net Memory Profiler的使用举例
  • .NET 将混合了多个不同平台(Windows Mac Linux)的文件 目录的路径格式化成同一个平台下的路径
  • .net访问oracle数据库性能问题
  • .NET国产化改造探索(一)、VMware安装银河麒麟
  • @Controller和@RestController的区别?
  • @Transactional类内部访问失效原因详解
  • [\u4e00-\u9fa5] //匹配中文字符
  • []AT 指令 收发短信和GPRS上网 SIM508/548
  • [AIGC 大数据基础]hive浅谈