• Java 从入门到进阶之路(十四)


    在之前的文章我们介绍了一下 Java 中的抽象类和抽象方法,本章我们来看一下 Java 中的接口。

    在日常生活中,我们会接触到很多类似接口的问题,比如 USB 接口,我们在电脑上插鼠标,键盘,U盘的时候不用去考虑它到底能不能插进去,只要型号对了就肯定能插进去,接口就相当于一个标准,你要想把鼠标插到我的电脑上,在出厂时就必须遵守该电脑定义的接口标准。

    在 Java 中同样有接口的概念,当然也会有接口的定义标准。

      1、有 interface 定义;

      2、只能包含常量和抽象方法;

      3、接口不能被实例化;

      4、接口是需要被实现/继承的,实现类/子类:必须重写接口中的所有抽象类;

      5、一个类可以实现多个接口,用逗号隔开,若又继承又实现,应先继承后实现;

      6、接口可以继承接口;

    我们先来看前三条,代码如下:

     1 interface Inter {
     2     public static final int NUM = 5;
     3     public abstract void test1();
     4 
     5     double PI = 31.415926; // 默认 public static final
     6     void test2(); // 默认 public abstract
     7 
     8     int num; // 编译错误 没有初始化
     9     public void test3() {} // 编译错误 只能是抽象方法
    10 }

    接下来我们看一下第4条:

    1 interface Inter1{
    2     void a();// 默认 public abstract
    3     void b();
    4     void c();
    5 }
    6 class Aoo implements Inter1{ // 编译错误,所有抽象方法都必须重写
    7     void a(){} // 编译错误,父类默认 public,子类类型不能小于父类
    8     public void b(){}
    9 }

    我们再来看一下第5条:

     1 interface Inter1{
     2     void a();
     3 }
     4 
     5 interface Inter2{
     6     void b();
     7 }
     8 
     9 abstract class Foo{
    10     abstract void c();
    11 }
    12 
    13 class Aoo implements Inter1, Inter2{
    14     public void a(){}
    15     public void b(){}
    16 }
    17 
    18 class Boo extends Foo implements Inter1, Inter2{
    19     public void a(){}
    20     public void b(){}
    21     void c(){}
    22 }

    最后我们看一下第6条:

     1 interface Inter1{
     2     void a();
     3 }
     4 
     5 interface Inter2 extends Inter1{
     6     void b();
     7 }
     8 
     9 class Aoo implements Inter2{ // 抽象方法必须都得重写,包括接口继承接口的
    10     public void a(){}
    11     public void b(){}
    12 }

      

  • 相关阅读:
    Where条件的in里面放太多数据导致很慢
    获取项目文件目录下的所有文件路径
    如何将数据转换成XML格式
    微信6.2开发笔记
    sql server 2008导出数据注意事项
    IIS7.5下404错误设置失效的问题
    采用ASP.NET IIS 注册工具 (Aspnet_regiis.exe)对web.config实行本地加密
    webkit自定义滚动条
    ueditor1_4_3-utf8-net使用笔记
    WebDev.WebServer40.exe已停止工作
  • 原文地址:https://www.cnblogs.com/weijiutao/p/11811892.html
Copyright © 2020-2023  润新知