gpt4 book ai didi

java - 重载静态变量是否需要静态后期绑定(bind)?

转载 作者:太空宇宙 更新时间:2023-11-04 08:28:25 24 4
gpt4 key购买 nike

我的一个 friend 问我他​​是否可以在 Java 中重写静态变量,我很震惊他竟然想到了如此奇怪的编码方式。然后他向我解释说这在 PHP 中是可能的,我想知道优秀的开发人员是否应该这样做有充分的理由。在我看来,静态成员的特征是类成员,与对象无关,因此它们与类的派生无关,但我无法说服他,因为他是如此天真和固执。

任何人都可以对这整件事提出一个很好的论据,或者让我相信这是一个很酷的功能吗?

最佳答案

静态继承没有任何意义。并不是说不可能,只是你没有从中得到任何好处。

通过正常继承,您可以获得对同一事物有不同实现的好处,并且不知道/关心将使用哪个实现。使用静态继承,您没有可操作的对象,并且使用的是类名,因此您无法利用多态性。

例如如果您正在调用 Child.someMethod() ,您将与子级的实现相关联,如果您实际上只需要父级,则可以只执行 Parent.someMethod() 。如果您需要向 Parent 实现添加一些内容,您只需创建一个 Child.someOtherMethod() ,在其中调用 Parent 并在之后执行一些其他操作。静态继承只是语法糖...

关于java - 重载静态变量是否需要静态后期绑定(bind)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8023503/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com