黑马程序员技术交流社区

标题: 父类的静态方法能不能被子类继承和重写? [打印本页]

作者: java627    时间: 2016-7-27 21:41
标题: 父类的静态方法能不能被子类继承和重写?
之前学的时候一直坚信不能继承和重写,对吗?
作者: q123123    时间: 2016-7-27 21:43
不能,只能算是覆盖
作者: 13411939415    时间: 2016-7-27 21:44
可以继承,但由于静态方法是与类相关的,可以直接类名.调用,所以算不上重写。
ps:我说得可对?
作者: 大天    时间: 2016-7-27 21:52
当然不能,所谓静态,就是在运行时,虚拟机已经认定此方法属于哪个类。  专业术语有严格的含义,用语要准确."重写"只能适用于实例方法.不能用于静态方法.对于静态方法,只能隐藏,重载,继承.
作者: itismyhao    时间: 2016-7-27 23:50
lz,看到你发这个帖子
我给你的例子相信你也看到了
我这么解释你看行不行
父类静态方法和静态属性如果子类可以访问的话
且子类没有同名的的静态属性和方法,是可以继承的
但是关于覆盖(重写)我思考了一下
是不可以覆盖的
因为static修饰的如果可以覆盖
那么在整个类没销毁之前一直都是被修改后的

结论是可以子类可以继承,但是子类如果有完全一模一样的,就会隐藏父类的

其实这样想,子类继承父类,也是父类的一种,如果此解释成立,又是另一种说法.

待会我查查资料,明天再问问老师,求个准确答案

作者: java627    时间: 2016-7-28 00:43
13411939415 发表于 2016-7-27 21:44
可以继承,但由于静态方法是与类相关的,可以直接类名.调用,所以算不上重写。
ps:我说得可对? ...

我现在也有点蒙,不确定了




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