黑马程序员技术交流社区
标题:
关于多态的问题
[打印本页]
作者:
别急独角戏
时间:
2015-7-31 22:43
标题:
关于多态的问题
Object ob = new Student();
ob可以掉用student重写的方法但不能调用student特有的方法,
但是ob强制转换成student对象时就可以完全作为student对象使用,
是因为在内存中ob指向的空间完全符合student吗?
多态这里有点晕晕的
作者:
wode1311
时间:
2015-7-31 23:20
多态这里不要多想内存,只要明白向上转型和向下转型就可以了,另外编译器生成的是Object类型,编译看左边,至于能调用Student重写的方法,只是因为方法的重写造成了覆盖。
作者:
Arron
时间:
2015-10-1 21:00
...学习了 3Q.
作者:
江海豪
时间:
2015-10-1 21:30
对于成员变量和静态函数,编译和运行都看左边
对于成员函数,编译看左边,运行看右边。
作者:
任振铭
时间:
2015-10-1 21:33
不知道唉
作者:
大地z灵
时间:
2015-10-1 22:22
Object ob = new Student();
Student s = (Student) ob;
这里是把new Student()的地址值先给了ob,也就是说ob里面现在是一个Student的地址值,然后把ob里的地址值给了s,这 时候s里的地址其实是指向堆内存中的new Student()的,整个过程相当于把new Student()的地址最终给了s,可以理解为Student s = new Student();
作者:
迷茫不堪的年纪
时间:
2015-10-2 22:09
可以理解为,主要针对看的是 覆盖与否
作者:
pan1564335
时间:
2015-10-2 22:26
都强转了为什么不能调用,你想的太多了,其实没那么复杂
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2