封装:又称为信息隐藏,是将事物的属性和行为归到一个类中,以方便使用,同时避免干扰。封装将事物相关的数据保护起来,只有通过给定的安全接口才可以对事物中的数据进行操作。
好处:保证了信息安全,提供了统一调用
抽象:将一类事物的公共特性提前出来,封装在一个抽象类中。
继承:个性对共性的属性和行为的接受,同时保留个性的属性和行为。
好处:通过共性对个性进行归类,同时又不失个性。
多态:对不同的事物发出同一个消息,表现出不同的行为。多态通常建立在继承上,即不同的事物是有同一个基类的,子类对父类的方法进行了不同的实现,表现即为多态。
分类:编译时多态(即方法重载)、运行时多态(运行时根据实例决定调用哪个方法,通常的多态指的就是运行时多态)
技术:后期绑定
条件:1.有继承;2.有重写;3.父类引用指向子类
特点:1.该引用只能调用父类中有的方法;2.如果子类重写了父类中的方法,调用时会调用到子类中的方法(动态连接、动态调用);3.变量不能被重写(覆盖),重写只针对方法。
类型转换:
1.向上类型转换:子类转换为父类。不需要显示指出
2.向下类型转换:父类转换为子类。需要强制类型转换,在需要调用子类有而父类没有的方法时使用,必须为父类的引用指向子类。
实际应用:结合配置文件的使用,利用反射,动态调用类,同时不用修改源代码,直接添加新类修改配置文件,不需要重启服务器就可以实现扩展。
优先级:this.show(O)、super.show(O)、this.show((super)O)、super.show((super)O)
参考:http://www.jb51.net/article/34413.htm