一、接口怎么用?它的表现形式?
其实,从上面的例子中聪明的你肯定已经大致知道接口怎么用了,下面就总结一下Java中接口的定义语法和类实现接口的语法如下:
[修饰词] interface 接口名 extends 父接口1,父接口2,....{
//常量定义
//抽象方法定义
}
class 类名 extends 父类名 implements 接口1,接口2,...{
//类成员
}
【关于接口用法的说明(其实,初学时不用都记住,先掌握关键点用起来再说,报几次错再回来补细节)】:
1.如果修饰词是public,则该接口在整个项目中可见;如果省略修饰词,则该接口只在当前包中可见.
2.接口中只能定义常量.接口中的属性都会自动用 public static final 修饰,即接口中的属性都是全局静态常量,必须在定义时指定初始值.
3.接口中所有方法都是抽象方法,都会自动用 public abstract 修饰,即接口中只有全局抽象方法.
4.接口之间可以通过extends实现继承关系,一个接口可以继承多个接口,但接口不能继承类.
5.接口的实现类必须实现接口的全部方法,否则就变成了抽象类.
二、接口使用的关键点?
烟台达内:了解接口很重要的一点就是它和抽象类的区别,这两个东西确实很像,都有继承,都有抽象方法,有种不严谨的说法甚至说"可以把接口当作一种极端的抽象类",这么说有一定道理,但是接口和抽象类还是有很大的不同:
【语法方面】:
1.抽象类中属性可以有常量、变量,接口中只能是 public static final 修饰的常量;
2.抽象类中方法可以有抽象方法、普通成员方法,接口中只能有抽象方法;
3.抽象类只能单继承,接口可以继承多个接口;
4.一个类只能继承一个抽象类,一个类可以实现多个接口.
【设计方面】:
1.抽象类是对事物的抽象,接口是对行为的抽象.就像上面蜘蛛侠的例子,抽象类 Person 是抽象人这个事物,接口 ISpiderable 是抽象蜘蛛的行为能力.
2.设计模式不同,抽象类作为很多子类的父类,它是一种模板式设计.而接口是一种行为规范,它是一种辐射式设计.什么是模板式设计?最简单例子,大家都用过ppt里面的模板,如果用模板A设计了ppt B和ppt C,ppt B和ppt C公共的部分就是模板A了,如果它们的公共部分需要改动,则只需要改动模板A就可以了,不需要重新对ppt B和ppt C进行改动.而辐射式设计,就像上面打印机的例子,如果改变了纸张IPaper的接口,那么纸张的实现类 A4Paper() 和 B5Paper()就都要修改.也就是说对于抽象类,如果需要添加新的方法,可以直接在抽象类中添加具体的实现,子类可以不进行变更;而对于接口则不行,如果接口进行了变更,则所有实现这个接口的类都必须进行相应的改动.
更多烟台达内相关资讯,请扫描下方二维码