zoukankan      html  css  js  c++  java
  • java-接口

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

    (2).接口与类的关系

    A:相似:接口可以有任意数量的方法;

               接口保存为以".java"为后缀名的文件,接口名需要与文件名匹配;

               接口编译后是后缀名为".class"的字节码文件;

               在包中的接口,其相应的字节码文件必须放置在包名称相匹配的一个目录结构中;

    B:区别:接口不能被实例化;

               接口不包含任何构造器;

               接口中的所有方法都是抽象的;

               接口中不能包含实例成员变量。唯一可以出现在接口中的成员变量必须是同时声明为static和final;

               接口不能被一个类继承,只能被一个类来实现;

    总:接口不是类。类描述了对象的属性和行为,而接口包含了一个类所需要实现的行为。

    (3).优点:接口能够用于暴露一个类的某些行为,而不是这个类的所有行为。接口还可以用于强制作用于其它对象的行为,以确保某些方法被对象实现;

                  有利于设计与实现相分离,对外隐藏了实现;

    (4).性质:接口默认是抽象的;

                  接口中的每一个方法默认也是抽象的,所以不需要关键字abstract;

                  接口中的方法默认访问级别是public;

    (5).声明接口:使用关键字interface

    eg:

    public interface Paintable{
           public void paint();
    }

    (6).接口的实现【使用关键字implements】:接口不能被实例化,因为接口中的方法都是抽象的,所以需要一个类来实现接口。【接口中定义常量都是public静态常量】

    1).实现接口的两个选择:实现接口中定义的所有方法;声明自己为抽象类。

     eg:public class 类名 extends 父类名 implements 接口名           

  • 相关阅读:
    软件设计文档
    java基础路线与详细知识点
    hdu 2203 亲和串 kmp
    UVALive 6915 J
    UVALive 6911 F
    UVALive 6906 A
    hdu 3746 Cyclic Nacklace KMP
    hdu 1686 Oulipo kmp算法
    hdu1711 Number Sequence kmp应用
    hdu4749 kmp应用
  • 原文地址:https://www.cnblogs.com/moshengren-java/p/4439152.html
Copyright © 2011-2022 走看看