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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© samove 中级黑马   /  2015-7-5 08:21  /  892 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 samove 于 2015-7-5 08:26 编辑
  1. <p><img alt="" src="http://bbs.itheima.com/forum.php?mod=image&aid=80463&size=300x300&key=51abfa7cfdcc5ff2&nocache=yes&type=fixnone" border="0" aid="attachimg_80463"></p><p>class Fu
  2. {
  3.         public Fu(){}
  4.         
  5.         public void show()
  6.         {
  7.                 System.out.println("Fu-----执行");
  8.         }
  9.         
  10. }

  11. class Zi extends Fu
  12. {
  13.         public Zi(){}
  14. /*
  15.         public void show()
  16.         {
  17.                 System.out.println("Zi------执行");
  18.         }        
  19. */        
  20. }


  21. class Test
  22. {
  23.         public static void main(String[] args)
  24.         {
  25.                 Fu f = new Zi();
  26.                 f.show();        
  27.         }
  28. }</p>
复制代码

多态前提条件:1、要有继承关系。2、要有方法重写。3、要有父类引用指向子类对象。
例如:Fu f = new Zi();
不过,我遇到一点有意思的东东。看上面代码 ↑ ↑ ↑ ↑ ↑
上面Zi中的重写show()被注释掉后,同样是多态,说明:重写只是多态的充分条件,而不是多态的必要条件。

下面是多态成员特点:
A:成员变量  编译看左边,运行看左边
B:成员方法  编译看左边,运行看右边
C:方法有重写,而变量没有

我个人觉得,应该都看左边,因为,f 毕竟是Fu类对象,只是,成员方法,不能只看左边,还要看看是否有被子类重写,如果有被重写,看重写。

顺便分享一张桌面壁纸。


402724.jpg (167.66 KB, 下载次数: 27)

402724.jpg

4 个回复

倒序浏览
谢谢楼主分享
回复 使用道具 举报
进来瞅瞅,暖贴................尽管并不喜欢那张图片的配色
回复 使用道具 举报
谢谢分享
回复 使用道具 举报
顶!d=====( ̄▽ ̄*)b一个。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马