为了账号安全,请及时绑定邮箱和手机立即绑定

求大佬回答

为什么把父类定义为static之后,在测试类之中调用子类方法执行的全是父类中的方法,而不是重写的方法。

正在回答

4 回答

这是为什么静态方法不能被重写的详解https://blog.csdn.net/gao_zhennan/article/details/72892946

0 回复 有任何疑惑可以回复我~

首先,如果一个类要被声明为static的,只有一种情况,就是静态内部类。其次,static作为静态成员变量和成员函数的修饰符,意味着它为该类的所有实例所共享,也就是说当某个类的实例修改了该静态成员变量,其修改为该类的其它所有实例所见。但是重写指的是对实例方法的重写,静态方法已经归属于自身所在的类,不可被重写。

0 回复 有任何疑惑可以回复我~

public static class HelloWorld {

}

我试了一下,直接报错。你是怎么做到的宝贝?

静态父类只能是内部类

0 回复 有任何疑惑可以回复我~

static是静态,改不了的吧

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java入门第二季 升级版
  • 参与学习       530629    人
  • 解答问题       6091    个

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

进入课程

求大佬回答

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信