子类能否重写父类的静态方法

原创 2016年07月27日 00:28:24

先上结论:8月3号追加:由于上次问题讨论引发很多人的积极性,最后的得到了大家都认同的结果,上面是本人之前的观点,有些错误,下面是最终讨论结果:父类的静态方法可以被子类继承,但是不能重写。这个结果最后大家都接受了。    


  今天突然讨论到了子类继承父类的静态方法问题,有人坚持说能写,有人说不能重写,那到底能不能冲写呢?这个问题很简单,测试一下就完了。

     先是父类代码:

public class Fu {
	public static void show() {
		System.out.println("父类的静态方法");
	}
	public void method() {
		System.out.println("父类的一般方法");
	}
}
     下面是子类代码:

public class Zi extends Fu {
	public static void main(String[] args) {
		Fu fu = new Zi();
		fu.show();
		fu.method();
	}
	public static void show() {
		System.out.println("子类的静态");
	}
	public void method() {
		System.out.println("子类的一般方法");
	}
	
}
       输出结果是:

      父类的静态方法
      子类的一般方法

       来说一下我的观点,父类的静态方法不能被子类继承,更谈不上重写,就算是子类中有一个和父类一模一样的静态方法,那也是子类本身的,和父类的那个静态方法不是一回事。方法加静态后就属于类不属于对象了。


      8月3号追加:由于上次问题讨论引发很多人的积极性,最后的得到了大家都认同的结果,上面是本人之前的观点,有些错误,下面是最终讨论结果:父类的静态方法可以被子类继承,但是不能重写。这个结果最后大家都接受了。
      

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/kdc18333608478/article/details/52040914

从JVM角度看为什么子类不能重写父类静态方法

我们要解释的是什么问题呢?public class A extends B{ public static void f() { System.out.println("com....
  • TyroneRenekton
  • TyroneRenekton
  • 2017-03-31 11:51:36
  • 1120

父类的静态方法能否被子类重写

父类的静态方法不能被子类重写 代码 Anim public class Anim { public static void test() { System.out.println("Ani...
  • time_hunter
  • time_hunter
  • 2016-11-29 21:42:12
  • 1591

JAVA中子类是否可以可以继承、重写父类的静态方法--总结

JAVA中子类是否可以可以继承、重写父类的静态方法–总结今天刷题的时候看到一个问题:JAVA中子类是否可以可以继承父类的静态方法,自己实验了一下,也找了找别人的看法,总结一下吧: 子类可以继承父类的静...
  • u010342865
  • u010342865
  • 2016-08-16 18:05:27
  • 1445

子类为什么不能重写父类的静态方法

"重写"只能适用于实例方法.不能用于静态方法.对于静态方法,只能隐藏(形式上被重写了,但是不符合的多态的特性),“重写”是用来实现多态性的,只有实例方法是可以实现多态,而静态方法无法实现多态。例如: ...
  • FG2006
  • FG2006
  • 2011-08-20 03:28:11
  • 9722

关于父类静态方法能不能被子类重写详细

这里首先声明:不能,不能,不能! 这里看了别人的博客,为了方便就直接拷了他的测试代码,并加以修改说明。 首先我们讲一下重写: 子类继承父类后可直接调用父类的方法而不用去自己定义,如父类A有add...
  • qq_38584967
  • qq_38584967
  • 2017-11-10 23:39:33
  • 607

JAVA静态方法是否可以被继承?(对原文做了修改)

结论:java中静态属性和静态方法可以被继承,但是没有被重写(overwrite)而是被隐藏. (王员外笔记:对,这里官方叫法是hide,牛逼)  原因:   1). 静态方法和属性是属于类的,调...
  • cadi2011
  • cadi2011
  • 2016-09-01 11:13:21
  • 1793

父类的静态方法

http://www.urlshou.com/bbs/c/20140725012917_1271
  • cd12803
  • cd12803
  • 2014-07-26 22:07:40
  • 96

java中子类static方法隐藏父类static方法

父类 public class TestA { public static int a=0; public int b=0; public static int c=0; ...
  • u011617742
  • u011617742
  • 2017-04-09 17:41:14
  • 972

静态方法和非静态方法在父类和子类之间的区别

主要通过程序来演示父类与子类分别调用静态方法和非静态方法时的区别。
  • mayzilee
  • mayzilee
  • 2016-05-17 16:09:36
  • 2598
收藏助手
不良信息举报
您举报文章:子类能否重写父类的静态方法
举报原因:
原因补充:

(最多只允许输入30个字)