1 / 6
文档名称:

黑马程序员-java多态.doc

格式:doc   大小:230KB   页数:6
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

黑马程序员-java多态.doc

上传人:ttteee8 2019/10/12 文件大小:230 KB

下载得到文件列表

黑马程序员-java多态.doc

文档介绍

文档介绍::..面向对象编程有三个特征,即封装、,从而可以在不影响使用者的前提下改变类的内部结构,同时保护数据。继承是为了重用父类代码,同时为实现多态性做准备。下面我们介绍多态。多态的体现:父类型的引用可以指向子类型的对象。女口,[java]=newChild();//Child类继承TParent类多态的好处:大大提高程序的扩展性。因为javaH允许单继承,这样虽然保证了继承关系的简单明了,但也势必在功能上有很大的限制。多态的引入用于弥补这点不足,另外,抽象类和接口也是解决单继承规定限制的重要手段。多态的弊端:虽然提高了扩展性,但是只能使用父类的引用访问父类中的成员。下面用例子來讲解多态中几个重要的概念例仁[java].{3・publicstaticvoidmain(String[]args)4.{=newCat();//=newDog();8.//();//动态绑定10-();11.〃调用子类特有方法12.//();//错误,父类中没有catchMouse()方法13-Catc=(Cat)al;〃=(Dog)a2;15-();();.//Animala3=newanimal();19.//Catc2=(Cat)a3; 〃错误,不能将父类对象转成子类类型20・}21.}.{()25-26-•out•printIn("Animal}iseating!”);-}classDogextendsAnimal{31-publicvoideat()・System•out•printIn(“Dog}publicvoidguardHouse()eating!");//Dog类重写了eat()方法//•out•printIn("Dog}ISguardinghouse!H);.}()••println("Cat}publicvoidcatchMouse()■ISeating!");(”Cat}■IScatchingmouse!91);:[java]■•IS3Cat■■ISeating!eating!catchingmouse!guardinghouse!由此例,我们讲解以下儿个概念:1、 类型转换1) 自动向上类型转换(Upcast):将子类型转为父类型对于向上的类型转换,不需要显示指定转换类型,类型