• java中interface使用


    1.在C++中,类可以多重继承,一个类可以有好几个父类,但是在java中,类是不允许多重继承的,为了多重继承,java中出现了接口(interface)的定义。接口是可以多重继承的,接口的关键词是:interface。

    如:

    定义接口A:

    interface A

    {

    ...

    }

    定义接口B:

    interface B

    {

    ...

    }

    此时,接口C可以继承A和B:

    interface C extends  A,B

    {

    ...

    }

    同时类也可以同时实现多个接口

    如:

    class Test implements A,B

    {

    ...

    }

    2.接口中只有2中类型的成员,一种是数据成员,一种是方法成员。其中数据成员都是final类型的,是常量,在定义的时候要设置好的,以后不能修改方法成员全是抽象方法,实现接口的类要全部实现这些抽象方法

    3.接口不能直接实例化,只能通过其子类进行实例化。

     1 interface Usb
     2 {
     3     public    abstract void start();
     4     public  abstract void stop();
     5 }
     6 
     7 class Mp3 implements Usb
     8 {
     9     public void start()
    10     {
    11         System.out.println("Mp3 start");
    12     }
    13     
    14     public void stop()
    15     {
    16         System.out.println("Mp3 stop");
    17     }
    18 }
    19 
    20 class Disk implements Usb
    21 {
    22     public void start()
    23     {
    24         System.out.println("Disk start");
    25     }
    26     
    27     public void stop()
    28     {
    29         System.out.println("Disk stop");
    30     }
    31 }
    32 
    33 class Computer
    34 {
    35     public void work(Usb u)
    36     {
    37         u.start();
    38         u.stop();
    39     }
    40 }
    41 
    42 public class InterFaceInstanceOf {
    43 
    44     /**
    45      * @param args
    46      */
    47     public static void main(String[] args) {
    48         // TODO Auto-generated method stub
    49        //通过其子类进行实例化操作
    50         Usb uD = new Disk();
    51         Usb uM = new Mp3();
    52         
    53         Computer d = new Computer();
    54         Computer m = new Computer();
    55         
    56         d.work(uD);
    57         m.work(uM);
    58         
    59     }
    60 
    61 }

    4.接口实际上就是定义出了一个”统一的标准“

  • 相关阅读:
    2018.09.08什么是ajax
    2018.09.03怎样让网页自适应所有屏幕宽度
    2018.08.25字符串和二维数组之间的转换
    2018.08.20MySQL常用命令总结(二)
    2018.08.15解决MySQL1290问题
    2018.08.13MySQL常用命令总结(一)
    2018.08.11MySQL无法启动错误码1067的解决方法
    2018.08.10 css中position定位问题
    2018.08.10jQuery导航栏置顶
    2018.08.07css实现图片放大
  • 原文地址:https://www.cnblogs.com/chenyu123/p/4305286.html
Copyright © 2020-2023  润新知