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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 陈丹阳 黑马帝   /  2011-12-31 21:04  /  2445 人查看  /  7 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 陈丹阳 于 2012-2-22 19:41 编辑

看到毕老师的第十天,可能第六期赶不上了,内容好多。
Object类中调用了Integer.toHexString(hashCode());  好像是调用了它的子类甚至孙类的方法吧。。
我知道这个开发应该不用考虑。
但语法上在别的地方可以这样用的吗? 还是说这个是比较特殊的?

7 个回复

倒序浏览
这个是比较特殊的。但是我想在别的地方也能用。
回复 使用道具 举报
这只是在Object中,通过其子类,来调用子类的方法而已。
  1. class Dog
  2. {
  3.         public void eat()
  4.         {
  5.             System.out.println(Demo.yourName()+"啃骨头");
  6.         }
  7. }
  8. class Demo extends Dog
  9. {
  10.         public static void main(String[] args)
  11.         {
  12.                         new Dog().eat();
  13.         }      
  14.    
  15.         public static String yourName()
  16.         {
  17.             return "藏獒";
  18.         }       
  19. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报
这只是在Object中,通过其子类,来调用子类的方法而已
{:soso_e100:}
回复 使用道具 举报
其实就是循环调用其父类吧....  毕竟 java中就支持单继承....
回复 使用道具 举报
本帖最后由 为梦而战 于 2012-1-3 17:05 编辑

     想了想,觉的一般情况父类中没有子类的特殊方法。父类是调用不了子类的方法的。你那个说特殊也特殊,因为父类中有子类要用的方法。你的那个代码应该是子类继承了父类的HashCode方法。当子类调用自己的toHexString()的方法时,在参数有又调用了继承过来的HashCode()方法,但是我想的是,一般子类是要按照需要重写一下父类的HashCode()方法,然后调用自己重写后的HashCode()方法,这样更符合需求下的写法。
   
回复 使用道具 举报
本帖最后由 为梦而战 于 2012-1-3 17:06 编辑

可能我自己也理解的不到位,望多多交流!

评分

参与人数 1技术分 +1 收起 理由
admin + 1 不管到不到位,证明你认真想过!.

查看全部评分

回复 使用道具 举报
为梦而战 发表于 2012-1-3 16:57
可能我自己也理解的不到位,望多多交流!

:handshake
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马