黑马程序员技术交流社区
标题: Java基础学习 第9天 [打印本页]
作者: luguoyuanf 时间: 2013-3-28 21:02
标题: Java基础学习 第9天
4.3.1接口概述(implements)
抽象类中的所有方法都是抽象的,这个类可以用另外一种方式类定义-接口
抽象类中只包含常量和方法的定义,而没有变量和方法的实现
特点:
接口里的变量默认就有publicstaic final标识,接口中的变量是全局静态常量
接口中的成员都是公共权限
继承和实现区别:
1,继承只能单继承
2,实现可以多实现
3,继承后子类必须覆盖父类接口中的抽象方法
4,实现后子类必须覆盖父类的接口中的抽象方法
5,实现的出现,避免的单继承的局限性
接口思想:
降低耦合性,提高扩展性,后期可维护性大大增加
4.3.2面向对象的多态性
定义:
一个事物具备的多种形态
体现:
父类或者接口的引用指向自己的子类对象
优势:
代码的复用性提供,程序的扩展性提高,后期可维护性提高
弊端:
1)前提是抽取了父类,后期不知道有什么样的子类
2)多台下只能调用子父类的公共方法
多态子类和父类之间的细节:
1)成员变量:
编译时期参考引用型变量所属的类中是否有这个成员变量,没有则编译失败.
运行时期参考引用型变量所属的类中
2)成员函数:
编译时期参考引用型变量所属的类中是否有这个成员函数,没有则编译失败.
运行时期参考子类对象中的方法,此时虚拟机动态绑定到了子类对象中子类中覆盖了父类中的方法.
3)静态成员变量:
编译时期参考引用型变量所属类中有没有这个静态成员变量,有就编译通过.
运行时期参考引用型变量所属类
4)静态成员函数
编译时期参考引用型变量所属的类,有没有这个静态方法,有就编译通过
运行时期参考引用型变量所属的类
简单记忆法:
只有非静态成员函数编译看左边,运行看右边,其他情况编译运行都看左边.
模板方法设计模式(记录程序运行时间)
1)父类中,不知道需要统计什么程序运行时间
2)提供了一个抽象方法,交由子类去实现
3)统计的程序是由子类覆盖而来
4)父类只做一件事情,就是对外暴露一个方法
5)子类延迟加载
6)扩张性增加
作者: 康嘉 时间: 2013-3-28 22:16
顶一下 加油
作者: luguoyuanf 时间: 2013-3-28 22:34
康嘉 发表于 2013-3-28 22:16
顶一下 加油
感谢支持!
作者: 王浩威 时间: 2013-3-29 10:41
牛仔裤 皮实
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |