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 接口名           

原文地址:https://www.cnblogs.com/moshengren-java/p/4439152.html