![个人头像照片](https://ucc.alicdn.com/avatar/avatar3.jpg)
暂无个人介绍
接口定义的是一套规范,提供一种统一的“协议”,而接口中的属性也属于“协议”中的成员。他们是公共的,静态的,最终的常量。抽象类是“不完全的类"相当于是接口和具体类的一个中间层,即满足接口的抽象也满足具体的实现。所以接口里很少有全局变量。
1.构建子类的共有属性。 2.为其他子类提供共同的接口。 3.提供部分实现,使子类可以重用部分抽象代码。 4.制定子类的接口规范。 5.便于功能的扩展,新建的子类,通过注入接口能够很便利的与系统原有构架发生联系。
抽象类是通过分析或设计问题领域而概括出来的,是一些看上去不同而实质相同的具体概念的抽象概括。
覆写是子类对父类的同名方法(方法名称相同,参数相同,返回类型相同)重新进行定义。
作用:对父类继承过来的方法进行重写。
通常在message前加Abstract可以在类上进行明确的描述,有abstract为抽象类,反之普通类。
接口是一种用来定义程序的协议,它描述可属于任何类或结构的一组相关行为。它是一组规则的集合。
简化格式是完整格式的简化,在接口中的效果一致。
一个接口可以通过使用extends来继承多个父接口。
只有使用static定义的内部接口就相当于是一个外部接口。
接口可以定义一系列的内部接口包括:内部的普通类、内部抽象类、内部接口类。
提醒别人newslmpl是Inews接口的子类,做一个重复标记,做了一个加重结构的描述。
在抽象类中我们可以先做一个先期的统一实现(公共实现)
因为我们所以的接口子类用的可能都是相同的方法体。
因为一个接口可能有无数个子类但对于一个方法的实现是相同的所以为了避免重复以及使操作更加的合理在抽象类中进行了先期的统一实现。
可以看作是包含和被包含的关系
接口中必须都是抽象方法,而抽象类可以是抽象方法也可以是普通方法。抽象类可以使用implements实现多个接口但接口不能去继承抽象类。
能转型
因为newslMpl是抽象类和接口的共同子集。
因为在我们接口之中全是全局变量和抽象方式的集合,并且两者是互通所以这两种格式的最终结果相同。
在接口中只要是方法就使用public进行定义,我们就可以回避错误覆盖这个问题。
我们应该首先使用extends继承一个抽象类然后使用implements实现多个接口。
为避免我们在编写时出现混乱,我们应该在接口的方法上加上public来避免此事。
首先说了接口里只允许存在public权限(不管是属性还是方法其权限永恒都是public,不存在其他权限。