黑马程序员技术交流社区

标题: 关于多态中的静态方法 [打印本页]

作者: 笑轻轻    时间: 2014-8-15 22:30
标题: 关于多态中的静态方法
请问静态的方法可以被重写吗?从形式来看似乎被重写了,但是看有些资料说不叫重写。而且多态当中调用的还是父类自己的静态方法。
作者: 朱冰18189949658    时间: 2014-8-15 23:05
静态方法是类在加载时就被加载到内存中的方法,在整个运行过程中保持不变,因而不能重写,而且静态方法是通过类名调用的,重写没有意义的。
作者: 唤月    时间: 2014-8-15 23:11
赞同上楼      
作者: 冷锋也温柔    时间: 2014-8-16 00:20
一楼说的对
作者: fantacyleo    时间: 2014-8-16 00:48
来自Java官方的权威说法:静态方法不能被重写(override),只能被隐藏(hide),也不参与多态判定
作者: 不再上网    时间: 2014-8-16 01:37
在多态中,无论编译或者运行,都参考父类的引用
作者: 思如涌泉    时间: 2014-8-16 08:30
既然都被静态修饰了,就然他做个安静的美男子吧,别去打扰他了
作者: 嘿~~    时间: 2014-8-16 08:49
  1. class Fu
  2. {       
  3.         public static void show(){
  4.                 System.out.println("Fu类静态方法-----");
  5.         }
  6.         public void method(){
  7.                 System.out.println("Fu类普通方法-----");
  8.         }
  9. }
  10. class Zi extends Fu
  11. {       
  12.         public static void show(){
  13.                 System.out.println("子类静态方法-----");
  14.         }
  15.         public void method(){
  16.                 System.out.println("子类普通方法-----");
  17.         }
  18. }
  19. class  StaticDemo
  20. {
  21.         public static void main(String[] args)
  22.         {
  23.                 Fu f = new Zi();
  24.                 f.show();
  25.                 f.method();
  26.         }
  27. }


  28. 看这个代码,这个应该是静态绑定的问题吧,你再看看
复制代码

作者: 笑轻轻    时间: 2014-8-16 11:09
fantacyleo 发表于 2014-8-16 00:48
来自Java官方的权威说法:静态方法不能被重写(override),只能被隐藏(hide),也不参与多态判定 ...

权威的答案




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2