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 }

      

  • 相关阅读:
    navigator 对象
    面向对象 ( OO ) 的程序设计——继承
    面向对象 ( OO ) 的程序设计——创建对象
    面向对象 ( OO ) 的程序设计——理解对象
    芯片知识扫盲
    8位、16位、32位单片机中的“XX位”指什么?
    stm32库函数建工程和使用Keil自带库建工程有没有区别?发现了同样的程序在两种情况下keil自带库可以运行的情况,不知是什么原因
    关于输出的看法
    4-鸡肉为何如此受欢迎
    7-发音规则(弱读,缩写,其他)
  • 原文地址:https://www.cnblogs.com/weijiutao/p/11811892.html
Copyright © 2011-2022 走看看