黑马程序员技术交流社区

标题: 子类静态方法是否会覆盖父类静态方法? [打印本页]

作者: 黎志文    时间: 2013-5-30 10:36
标题: 子类静态方法是否会覆盖父类静态方法?
class Fu
{
          public static void method( )
          {
                  System.out.println("父类method");
          }
}

class Zi extends Fu
{
          public static void method( )
          {
                  System.out.println("子类method");
          }
}

class FuZiDemo
{
          public static void main(String[] args)
          {
                 Fu f = new Zi( );
                 f.method( );
          }
}
打印结果为:父类method。这是否说明,子类中的静态方法,不会覆盖父类中的静态方法?
作者: 于腾飛    时间: 2013-5-30 11:03
静态只与类有关,在多态中,静态成员特点是无论编译还是运行,都参考左边,静态本身也无需创建对象即可调用!
作者: msileandroid    时间: 2013-5-30 13:57
在多态中成员函数的特点:
在编译时期:参阅引用型变量所属的类中是否有调用的方法。如果有,编译通过,如果没有编译失败。
在运行时期:参阅对象所属的类中是否有调用的方法。
简单总结就是:成员函数在多态调用时,编译看左边,运行看右边。


在多态中,成员变量的特点:
无论编译和运行,都参考左边(引用型变量所属的类)。


在多态中,静态成员函数的特点:
无论编译和运行,都参考做左边。
作者: 李润根    时间: 2013-5-30 14:24
楼上,正解

有了继承,就有了多态

建议看看多态视频部分
作者: 王鑫    时间: 2013-5-30 15:24
静态方法不需要创建对象就可以调用,所以无所谓是否覆盖,谁调用就执行谁。父类调用就执行父类中的静态方法,子类调用就执行子类中的静态方法。
作者: 周朝    时间: 2013-5-30 22:36
学习了~~~~~




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