抽象类和接口
来源:互联网 发布:淘宝开店考试 编辑:程序博客网 时间:2024/05/18 00:30
1、抽象类
[public] abstract class ClassName {
abstract void fun();
}
①概念
被abstract修饰的类称为抽象类,一般情况下抽象类中都抽象方法,所以不能被创建对象,特殊情况下抽象类可以不含有抽象方法(无意义)。
②抽象方法
抽象类中的抽象方法必须是被public或者protected修饰(因为如果被private修饰,子类就不能去实现该方法,则无意思),缺省默认是public。
③如果一个类继承一个抽象类,则子类必须实现父类的所有抽象方法,如果有抽象方法没有被实现,则子类也必须定义为抽象类。
2、接口
[public] interface InterfaceName {
}
①接口可以说是抽象类的再抽象。极度的抽象。
②接口中变量都必须用public static final修饰,接口中的方法都必须是public abstract修饰(不写的话默认)。
③一个类可以通过implements实现一个接口,但是必须实现接口中所有的方法。(如果接口中有的方法没被实现,那么这个类必须是抽象的)
④一个类可以实现多个接口。
3、接口和抽象类的区别
①接口中的方法都是抽象的且被public abstract修饰的,抽象类中的可以有非抽象方法,而且抽象方法还可以被protected修饰。
②接口中的成员变量必须是public static final修饰的,抽象类是可以各种各样的。
③单继承,多实现。
④抽象类是对类的整体的抽象,而接口是对局部行为的抽象。
⑤抽象类是模板式设计,接口是辐射式设计(行为规范)。抽象类就是个模板,其他子类直接继承就可以使用里面的内容,当抽象类这个模板进行修改时,子类不需要修改,可以直接使用。接口是一个行为规范,当接口修改的时候,行为规范修改了,那实现他的类都得修改。
- 抽象接口和抽象类
- 接口和抽象类
- 接口和抽象类
- 接口和抽象类
- 抽象类和接口
- 抽象类和接口
- 抽象类和接口
- 接口和抽象类
- 抽象类和接口
- 抽象类和接口
- 接口和抽象类
- 抽象类和接口
- 抽象类和接口
- 抽象类和接口
- 抽象类和接口
- 接口和抽象类
- 抽象类和接口
- 接口和抽象类
- 比特币挖矿——钱包
- HTML标签
- iOS中求出label中文字的行数和每一行的内容,带自定义行间距
- 检测四边形(多边形)
- 非常有用的Java程序片段
- 抽象类和接口
- vue.js入门笔记 记录
- 内核级驱动对抗Hook ZwSetInformationFile反删除技术
- AngularJS+查询+敏感字+排序+添加
- Andriodjie——OKhttp拦截器
- hdu3709 枚举
- HTML表格
- 下载百度编辑器ueditor
- RecyclerView的使用