抽象类和接口
来源:互联网 发布:白葡萄酒淘宝 编辑:程序博客网 时间:2024/04/30 09:03
一、抽象类:用abstract关键字修饰的类是抽象类。
1.抽象类中可以有构造器
2.不能构造对象
3.抽象类中的构造器,在构造具体子类对象时调用
4.抽象方法决定抽象类
5.抽象类中可以没有抽象方法
6.具体父类型可以作为引用类型的声明;抽象父类型也可以作为引用类型的声明;
7.如果一个具体子类继承抽象类,那么就要实现抽象父类中的所有抽象方法;
8.在子类中重写父类方法时,访问级别要大于等于原有访问级别;
二、接口:是一种统一的标准
1.接口中只能有:1、常量字段 2、抽象方法
2.在定义方法时,具体类可以做形参,抽象类可以作形参,接口可以做形参;
无论谁做形参,实参一定是具体类对象!(具体父类的具体子类; 抽象类的具体子类;接口的具体实现类;)
3.类可以在继承一个父类的基础上,实现多个接口;
三、抽象类与接口的异同:
相同之处:
1、 不能构造对象
2、 都可以定义抽象方法
3、 设计的目的是为了被继承或被实现
4、 与子类或实现类的关系都属于is-a,可以用抽象类或接口的引用来作类型声明,进而统一调用具体子类或具体实现类;
不同之处:
1、 抽象类中可以有构造器,但接口中没有
2、 最重要的区别:无论继承链的长短,继承链上所有的类都是同一类事物;同一个接口中实现类,可以没有任何关系。
3、 抽象类中可以有抽象方法,也可以有具体方法,但接口中的方法都是抽象方法;
4、 顶层抽象类是Object类的子类,它继承了父类的所有成员;而接口中则除了自定义的的成员外,没有额外数据;接口是“轻量级”的抽象类,或者说是100%的抽象类;
5、 抽象类编程时,内聚性低,耦合度高;接口编程,内聚性高,耦合度低(好)
6、 接口可以多继承,一个接口可以继承多个接口。但是抽象类却不能。- 抽象接口和抽象类
- 接口和抽象类
- 接口和抽象类
- 接口和抽象类
- 抽象类和接口
- 抽象类和接口
- 抽象类和接口
- 接口和抽象类
- 抽象类和接口
- 抽象类和接口
- 接口和抽象类
- 抽象类和接口
- 抽象类和接口
- 抽象类和接口
- 抽象类和接口
- 接口和抽象类
- 抽象类和接口
- 接口和抽象类
- 关于JAVA中为什么每个编译单元内都只能有一个public类
- jquery和JSON结合
- java23设计模式思想
- HDU 2544 最短路 (SSSP & O(V^2)的Dijkstra算法)
- OSTaskCreateExt分析
- 抽象类和接口
- 缓存技术,封装好的缓存类
- linux网络协议栈(六)传输层 (3)UDP协议 3)报文发送 send/sendto/sendmsg
- 信息系统项目管理师
- 那些年我们清除过的哪个浮动
- mysql之sync_binlog和innodb_flush_log_at_trx_commit参数浅析
- 注入 -- AndroidAnnotations学习笔记二
- 颠覆典当旧秩序?由绝当品电商入手,“淘当铺”进军互联网金融
- 苹果创始人体验大中中塔电器广场