黑马程序员技术交流社区
标题:
父类调用子类的方法?
[打印本页]
作者:
陈丹阳
时间:
2011-12-31 21:04
标题:
父类调用子类的方法?
本帖最后由 陈丹阳 于 2012-2-22 19:41 编辑
看到毕老师的第十天,可能第六期赶不上了,内容好多。
Object类中调用了Integer.toHexString(hashCode()); 好像是调用了它的子类甚至孙类的方法吧。。
我知道这个开发应该不用考虑。
但语法上在别的地方可以这样用的吗? 还是说这个是比较特殊的?
作者:
房宝彬
时间:
2011-12-31 22:18
这个是比较特殊的。但是我想在别的地方也能用。
作者:
刘基军
时间:
2012-1-3 15:06
这只是在Object中,通过其子类,来调用子类的方法而已。
class Dog
{
public void eat()
{
System.out.println(Demo.yourName()+"啃骨头");
}
}
class Demo extends Dog
{
public static void main(String[] args)
{
new Dog().eat();
}
public static String yourName()
{
return "藏獒";
}
}
复制代码
作者:
374122761
时间:
2012-1-3 16:18
这只是在Object中,通过其子类,来调用子类的方法而已
{:soso_e100:}
作者:
苏格拉底的弟子
时间:
2012-1-3 16:42
其实就是循环调用其父类吧.... 毕竟 java中就支持单继承....
作者:
为梦而战
时间:
2012-1-3 16:44
本帖最后由 为梦而战 于 2012-1-3 17:05 编辑
想了想,觉的一般情况父类中没有子类的特殊方法。父类是调用不了子类的方法的。你那个说特殊也特殊,因为父类中有子类要用的方法。你的那个代码应该是子类继承了父类的HashCode方法。当子类调用自己的toHexString()的方法时,在参数有又调用了继承过来的HashCode()方法,但是我想的是,一般子类是要按照需要重写一下父类的HashCode()方法,然后调用自己重写后的HashCode()方法,这样更符合需求下的写法。
作者:
为梦而战
时间:
2012-1-3 16:57
本帖最后由 为梦而战 于 2012-1-3 17:06 编辑
可能我自己也理解的不到位,望多多交流!
作者:
为梦而战
时间:
2012-1-6 16:12
为梦而战 发表于 2012-1-3 16:57
可能我自己也理解的不到位,望多多交流!
:handshake
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2