zoukankan      html  css  js  c++  java
  • 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 }

      

  • 相关阅读:
    docker安装
    linux磁盘空间挂载
    python之MD5加密
    python之pymysql
    python 之Redis笔记
    python 随机生成中文名字
    python之json笔记
    python时间模块笔记
    python 用pip安装pymysql(win7下)
    数据库操作番外篇~
  • 原文地址:https://www.cnblogs.com/weijiutao/p/11811892.html
Copyright © 2011-2022 走看看