黑马程序员技术交流社区
标题:
多态学习个人见解点滴
[打印本页]
作者:
samove
时间:
2015-7-5 08:21
标题:
多态学习个人见解点滴
本帖最后由 samove 于 2015-7-5 08:26 编辑
<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
{
public Fu(){}
public void show()
{
System.out.println("Fu-----执行");
}
}
class Zi extends Fu
{
public Zi(){}
/*
public void show()
{
System.out.println("Zi------执行");
}
*/
}
class Test
{
public static void main(String[] args)
{
Fu f = new Zi();
f.show();
}
}</p>
复制代码
多态前提条件:1、要有继承关系。2、要有方法重写。3、要有父类引用指向子类对象。
例如:Fu f = new Zi();
不过,我遇到一点有意思的东东。看上面代码 ↑ ↑ ↑ ↑ ↑
上面Zi中的重写show()被注释掉后,同样是多态,说明:重写只是多态的充分条件,而不是多态的必要条件。
下面是多态成员特点:
A:成员变量 编译看左边,运行看左边
B:成员方法 编译看左边,运行看右边
C:方法有重写,而变量没有
我个人觉得,应该都看左边,因为,f 毕竟是Fu类对象,只是,成员方法,不能只看左边,还要看看是否有被子类重写,如果有被重写,看重写。
顺便分享一张桌面壁纸。
402724.jpg
(167.66 KB, 下载次数: 38)
下载附件
2015-7-5 08:25 上传
作者:
muzili
时间:
2015-7-5 09:01
谢谢楼主分享
作者:
Miss.H
时间:
2015-7-5 09:09
进来瞅瞅,暖贴................尽管并不喜欢那张图片的配色
作者:
等你的季节-夏天
时间:
2015-7-5 10:14
谢谢分享
作者:
hp_discuz
时间:
2015-7-5 22:31
顶!d=====( ̄▽ ̄*)b一个。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2