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

为什么静态方法不能在Java中抽象

为什么静态方法不能在Java中抽象

弑天下 2019-07-05 09:49:00
为什么静态方法不能在Java中抽象问题是在Java中,为什么我不能定义一个抽象的静态方法?例如abstract class foo {     abstract void bar( ); // <-- this is ok     abstract static void bar2(); //<-- this isn't why?}
查看完整描述

3 回答

?
MYYA

TA贡献1868条经验 获得超4个赞

因为“抽象”的意思是:“不实现任何功能”,而“静态”的意思是:“即使没有对象实例,也有功能”。这是一个合乎逻辑的矛盾。


查看完整回答
反对 回复 2019-07-05
?
拉莫斯之舞

TA贡献1820条经验 获得超10个赞

糟糕的语言设计。直接调用静态抽象方法比仅为使用该抽象方法创建实例要有效得多。尤其是当使用抽象类作为不能扩展的解决方法时,这是另一个糟糕的设计示例。希望他们在下一个版本中解决这些限制。


查看完整回答
反对 回复 2019-07-05
?
MMTTMM

TA贡献1869条经验 获得超4个赞

不能覆盖静态方法,因此使其抽象将毫无意义。此外,抽象类中的静态方法将属于该类,而不是重写类,因此无论如何都不能使用。


查看完整回答
反对 回复 2019-07-05
  • 3 回答
  • 0 关注
  • 520 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号