接口概述
接口:
接口是一种规范和i标准,它们可以约束类的行为,是一些方法特征的集合,但是没有方法的实现。从这个角度来讲,接口可以看做一种特殊的“抽象类”,但是采用与抽象类完全不同的语法来表示
。两者的设计理解也是不同的,抽象类利于代码复用,接口利于代码的扩展和维护。
实现接口 VS 继承类
java的继承是单继承,也就是一个类最多只有一个父类,这种单继承的机制可保证类的纯洁性,比c++中的多继承机制简洁,但是不可,否则,对子类功能的扩展又一定的影响,所以我们认为:
00.实现接口可以看作是接口的一种不补充。还有一点,继承是层级式的,不太灵活,这种结构修改某个类就会打破这种继承的平衡,而接口就没有这样的麻烦,因为它只针对实现接口的类才起作用。
01.实现接口可在不打破继承关系的前提下,对某个类共扩展,非常的灵活。
定义
继承是多态得以实现的基础,从字面上理解,多态是一种类型,变现出多种状态,将一个方法调用这个方法所属的主体(也就是对象或类)关联起来叫做绑定分前期绑定和后期绑定两种。
1.前期绑定:在运行时之前绑定,有编辑器和连接程序实现,又叫做静态绑定。比如static方法和final方法,注意,这里也包括private方法,因为它隐式final的。
2.后期绑定:在运行是根据对象的类型进行绑定。由方法调用机制实现,因此又叫做动态绑定多态,多态就是在后期绑定这种机制上实现的多态给我们带来的好处就消除了类之间的耦合关系,使程序更容易扩展。
接口--------解决之道
接口就是给出一些没有内容的方法,封装到一起,到某个类要是用的时候,再根据具体情况把这些方法写出来。
语法:
class 类名 implements 接口{方法;变量;}
总结:
接口是更加抽象的抽象的类。抽象类里的方法可以有方法体,接口里的所有方法都没有方法体,接口体现了程序设计的多态和高内聚低耦合的设计思想。
接口------注意事项
00.接口不能被实例化
01.接口中所有的方法都不能有方法体;
02.一个类可以实现多个接口。
03.接口中可以有变量,但不能用private和protected修饰。
接口中的变量,本质上都是static的,而且是final类型的 ,不管你加不加static修饰。
在java开发中,我们把经常用的变量定义在接口中,作为全局变量使用,访问形式接口名.变量名。
04.一个接口不能继承其他的类,但是可以继承别的接口。
final---概念
final中文意思 最后的,最终的
fianl可以修饰变量或者方法。
在某些情况下,程序员可能有以下需求:
00.当不希望父类的某个方法被子类覆盖是,可以用final关键字修饰。
01.当不希望类的某个变量的值被修改,可以用final修饰,(如果一个变量是final的必须给初始值,否则报错)
02.当不希望类被继承是,可以用final修饰。
(使用final最好的变量命名为下划线法)
(接口是更加抽象的抽象类)
final----注意事项
00.fianl修饰的变量又叫常量,一般用XX_XX_XX来命名
01.fianl修饰的变量在定义时,必须赋值,并且以后不能再赋值。
final=====什么时候用
00.因为安全的考虑,类的某个方法不允许修改。
01.类不会被其他的类继承。
02.某些变量是固定不变的,