博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
多态的优缺点
阅读量:5141 次
发布时间:2019-06-13

本文共 813 字,大约阅读时间需要 2 分钟。

优点:

  提高了代码的维护性(继承保证)

  提高了代码的扩展性(多态保证)

缺点:

  不能使用子类的特有功能

1 class duotaidemo{ 2     public static void main(String[] args) { 3         Fu f = new Zi();    //向上转型 4         f.show(); 5         //f.method(); 6         Zi z = (Zi)f;   //向下转型 7         z.method(); 8     } 9     public static class Fu{10         public void show() {11             System.out.println("show fu");12         }13     }14     15     public static class Zi extends Fu{16         public void show() {17             System.out.println("show zi");18         }19         20         public void method() {21             System.out.println("method zi");22         }23     }24 }

运行结果:

show zi

method zi

如果想使用子类的特有功能 就把父类的引用强转为子类的引用。

 

向上转型:

            Fu f = new Zi();
        向下转型:
            Zi z = (Zi)f; //要求该f必须是能够转换为Zi的。

转载于:https://www.cnblogs.com/lsymove/p/11222460.html

你可能感兴趣的文章
小技巧——直接在目录中输入cmd然后就打开cmd命令窗口
查看>>
深浅拷贝(十四)
查看>>
由级别和性格特征将程序员分类 ---看看你属于哪一种
查看>>
HDU 6370(并查集)
查看>>
BZOJ 1207(dp)
查看>>
PE知识复习之PE的导入表
查看>>
HDU 2076 夹角有多大(题目已修改,注意读题)
查看>>
洛谷P3676 小清新数据结构题(动态点分治)
查看>>
九校联考-DL24凉心模拟Day2T1 锻造(forging)
查看>>
洛谷 P3237 [HNOI2014]米特运输
查看>>
Attributes.Add用途与用法
查看>>
JavaScript面向对象初探——封装和继承
查看>>
L2-001 紧急救援 (dijkstra+dfs回溯路径)
查看>>
javascript 无限分类
查看>>
spring IOC装配Bean(注解方式)
查看>>
[面试算法题]有序列表删除节点-leetcode学习之旅(4)
查看>>
SpringBoot系列五:SpringBoot错误处理(数据验证、处理错误页、全局异常)
查看>>
kubernetes_book
查看>>
OpenFire 的安装和配置
查看>>
ZJOI2018游记Round1
查看>>