文档详情

面向对象高级04-对象的多态性,以及对象多态性在抽象类和接口中的实际应用.docx

发布:2017-04-18约2.59万字共27页下载文档
文本预览下载声明
16. 面向对象高级(04) 本季要点:对象的都态性、instanceof关键字、Object类。本季为Java基础中面向对象的重要一季,讲解了对象的多态性,以及对 象多态性在抽象类和接口中的实际应用。 blog:  HYPERLINK /27212/126674 \t /_blank [零基础学JAVA]Java SE面向对象部分-16.面向对象高级(04) 2009-01-15 上季内容回顾: 1、final关键字? · 修饰类不能被继承? · 修饰方法不能被覆写? · 修饰的变量就是一个常量,全局常量(public static final)? 2、抽象类和接口? · 抽象类:只包含一个抽象方法的类,抽象方法只需声明而不需要实现,必须有子类? · 接口:只包含抽象方法和全局常量的类——接口,也是必须有子类 在实际中一个类很少会去继承一个已经完全实现好的类,基本上都是继承抽象类和实现接口。 本季主要知识点: 1、对象的多态性? 2、instanceof关键字? 3、Object类 对象的多态性 INCLUDEPICTURE \d /attachment/200901/15/27212_1232031350rIBe.png \* MERGEFORMATINET  注意点:? 为了清楚的阐述出概念,现在先使用普通类的继承关系。 向上转型: class?A???? {???? ????????public?void?fun1()???? ????????{???? ????????????????System.out.println(A类===public?void?fun1());???? ????????}???? ????????public?void?fun2()???? ????????{???? ????????????????//fun2方法调用的是fun1方法???? ????????????????this.fun1();???? ????????}???? }???? class?B?extends?A???? {???? ????????//覆写A类中的fun1()方法???? ????????public?void?fun1()???? ????????{???? ????????????????System.out.println(B类===public?void?fun1());???? ????????}???? ????????public?void?fun3()???? ????????{???? ????????????????System.out.println(B类===public?void?fun3());???? ????????}???? }???? public?class?Demo01???? {???? ????????public?static?void?main(String args[])???? ????????{???? ????????????????B b =?new?B();???? ????????????????A a =?new?A();???? ????????????????b.fun1();???? ????????????????a.fun2();???? ????????????????b.fun3();???? ????????}???? } INCLUDEPICTURE \d /attachment/200901/15/27212_1232031350oH9J.png \* MERGEFORMATINET  对象多态性体现在对象相互转型上面哈~ class?A???? {???? ????????public?void?fun1()???? ????????{???? ????????????????System.out.println(A类===public?void?fun1());???? ????????}???? ????????public?void?fun2()???? ????????{???? ????????????????//fun2方法调用的是fun1方法???? ????????????????this.fun1();???? ????????}???? }???? class?B?extends?A???? {???? ????????//覆写A类中的fun1()方法???? ????????public?void?fun1()???? ????????{???? ????????????????System.out.println(B类===public?void?fun1());????
显示全部
相似文档