zoukankan      html  css  js  c++  java
  • 接口,接口的定义

    接口interface,顾名思义,是为了一种事物与另一种事物进行交流提供的通道(手段),例如我们现在的操作系统是Windows系统,我们见到的界面和各个功能的按钮都是图形用户接口,接口就是用户和应用程序内部交互的界面。接口实际上有两种含义:一是一个类所具有的方法的特征集合,是一种逻辑上的抽像;二是java接口,java语言中存在的结构,有特定的语法和结构,前者叫做“接口”后者叫做“java接口”。本节我们研究的是java接口。

    java中的接口是一系列方法的声明,是一些方法的特征集合。一个接口只有方法特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。接口具有以下特征:

    (1)在java中只支持单继承。如果要实现多继承可以通过接口实现。

    (2)封装性。接口提供一种途径,使类隐藏其处理的特定事物的细节,仅对外公布它必须支持的属性。只需要知道调用的方法及其参数,而不需要知道内部的实现。

    (3)面向接口变成,比如A,B实现接口C,在一个方法的参数中可以写C(可以代表A也可以代表B),到时动态地传入A或B 的实例都可以。

    接口的定义:接口包含常量和抽像方法,没有变量和其他成员方法,一旦定义了接口,所有的类都可以实现该接口,并且由于接口支持多继承,多以一个类一次可以同时实现多个接口。接口的具体定义格式如下:

    [public] interface 接口名 [extends 多个父接口]

    {

    [public] [static] [final] 类型 常量名=值;

    [public] [abstract] 返回类型 方法名([参数]);

    }

    其中接口中默认的属性都是常量,并且常量默认必须是公有常量,不允许有变量和普通方法,所以常量的修饰符,不能写具体的实现,所以方法前的修饰符public和abstract也可以省略。例如定义A接口:

    interface A{

    int p=4.14;

    void show();

    }

    接口A 的属性p为一个public常量,show()为一个public的抽像方法。需要注意的是,由于p是一个常量,所以p在定义的同时必须给他赋初值。

    接口定义的同时,可以指出它的封装性。如果是public,任何地方都可以实现接口;如果没有public,为默认状态,只能被同一个包中的类访问。

    接口支持多继承多个接口之间用逗号隔开,其父亲也必须是接口。例如:

    public interface Father{

      void fn1();

    void fn2();

    }

    public interface Mother{

    void fn3();

    void fn4();

    }

    public interface Son extends Father,Mother

    {

    void fn5();

    }

    在Father接口中有fn1()和fn2()两个抽像方法,Mother接口中有fn3()和fn4()两个抽像方法.定义的Son接口中有一个fn5()抽像方法,由于他的父亲是Father和Mother接口,所以Son接口中应该有5 个抽像方法。如果一个类实现Son接口,它必须实现Son,Father,Mother中的5个方法。

    ps:接口的父亲一定是接口,不能是类。

  • 相关阅读:
    Symfony2 学习笔记之报错
    Symfony2学习笔记之数据校验
    Symfony2学习笔记之HTTP Cache
    Symfony2学习笔记之表单
    Symfony2 学习笔记之插件格式
    Symfony2学习笔记之数据库操作
    Symfony2 学习笔记之内部构件
    Symfony2 学习笔记之模板使用
    让VIEWSTATE从页面中完全消失(小技巧)
    打包bat等文件成exe,双击运行不显示dos窗口,exe不报毒
  • 原文地址:https://www.cnblogs.com/Angella/p/6021337.html
Copyright © 2011-2022 走看看