A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© 张水荣 中级黑马   /  2012-7-19 12:55  /  2025 人查看  /  9 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 张水荣 于 2012-7-19 21:43 编辑


多态使用的条件:
1. 要有继承
2. 要有重写
3. 父类引用指向子类对象
请问下面的一个例子有没有使用多态:
  1. public static void printObject(Objedt obj) {
  2.      Class cla = obj.getClass();
  3.     if( cla.isArray() ) {
  4.         int len = Array.getLength(obj);
  5.         for(int i = 0; i < len; i ++) {
  6.             System.out.println(Array.get(obj,i));
  7.         }
  8.     } else {
  9.         System.out.println(obj);
  10.     }
  11. }
复制代码


评分

参与人数 1技术分 +1 收起 理由
蒋映辉 + 1 鼓励一下新童鞋....

查看全部评分

9 个回复

倒序浏览
在我看来没有用到多态,只有继承了Object的类,但是没有重写,没有覆盖,应该说我暂时没看出来啊 不知道对不对
回复 使用道具 举报
cia继承了Object的类
  1. System.out.println(Array.get(obj,i));
复制代码
这句是使用了多态的
回复 使用道具 举报
王龙彪 发表于 2012-7-19 13:41
cia继承了Object的类这句是使用了多态的

重写和引用在哪里
回复 使用道具 举报
Lewis 发表于 2012-7-19 14:28
重写和引用在哪里

不是一定要重写的
那个Object就是引用
回复 使用道具 举报
王龙彪 发表于 2012-7-19 14:30
不是一定要重写的
那个Object就是引用

Object是对象的意思吧?  就像 String[] args中的String一样,只是表示接受的参数的类型吧?
回复 使用道具 举报
王龙彪 发表于 2012-7-19 14:30
不是一定要重写的
那个Object就是引用

多态好像必须满足以上三个条件的吧!
回复 使用道具 举报
Lewis 发表于 2012-7-19 14:38
Object是对象的意思吧?  就像 String[] args中的String一样,只是表示接受的参数的类型吧? ...

Object不是对象,是一个类,所有类的父类
class出来的任何类都是Object的子类,都默认继承了Object,都可以使用Object里的函数...
回复 使用道具 举报
张水荣 发表于 2012-7-19 15:17
多态好像必须满足以上三个条件的吧!

继承接口才必须要重写里面的方法
继承的父类如果需要重新实现里面的功能的话,才需要重新,不然直接使用父类的方法就可以 了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马