接口

接口可以理解为一种特殊的抽象类:因为在接口中只能定义常量与抽象方法!

1.接口的定义:

interface 接口名 [extends 父类接口列表]{

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

  public void 方法名();

}

a.在这里[]中是可以选择性的写或者不写的。

b.接口不同于类,类只能是单继承,接口是可以多继承的,所以在接口名的后面extends后跟的是父类接口的列表而不是父类名,想继承几个就继承几个,中间用,隔开。

2.接口的实现:

类与接口之间用implements链接。

class 类名 [extends 父类名] implements 接口列表{

}

例:定义一个四边形抽象类要实现计算接口(其中有求面积和求周长方法)和画四边形接口;再建一个继承与四边形的矩形类

图一:四边形抽象类

图二:计算接口(其中有求面积和求周长方法)

图三:画四边形接口

图四:四边形的矩形类

可以看出来:父类四边形要实现jisuan和xingzhuang两个接口,但是因为他是个抽象类所以,它可以不实现接口中的方法并且可以重写接口中的方法,但是他的派生类矩形必然要继承接口中的方法,由于在父类中重写了一个方法,所以这个方法是不会被继承下来的,但是我们依然可以重写它。(当我写上Override时,如果我写错了HuaHua,那么它就会给我提示)。

接口定义的时候:

1.接口尽量的小,功能太复杂的接口是一种坏味道的接口。——接口分离原则。

2.接口定义的时候,接口名子,尽量是形容词,或者是描述性质的词

原文地址:https://www.cnblogs.com/AnswerTheQuestion/p/6238562.html