java 未实现方法异常_java-为什么在未实现的公共API(例如Thread.destroy())中包含未实现的方法?...

我对此感到有些困惑. Java API中有一些根本没有实现的方法,例如Thread.destroy(). (我知道它尚未实现,可能是因为它容易死锁,但这不是我要解决的问题.)如果未实现,那么为什么还要在公共API中包含它呢?人们在运行时可能会调用它来导致异常,这只是一种无用的方法.

当您实现接口并且特定的实现由于某种原因或其他原因而没有实现所有方法时,我可以看到这种观点.但是线程不是这种情况.

我唯一能想到的是,这是Java开发人员在早期就做出的一项设计决定,以显示计划要使用的功能-显然是随着对线程问题的发现,它从未得到回报.但这是一个疯狂的猜测,似乎有些愚蠢.

有人能对此有所启发吗?

接下来,由于未实现,为什么不删除它?我知道Java具有向后兼容性,但是由于没有代码可以调用此方法并且在运行时可以正常工作,因此这肯定不是代码中断的更改吗?还是它可以在之前编译且现在无法计数的事实(即使它不能编译为有意义的任何东西?)

解决方法:

We are not implementing it at this time, but neither are we

deprecating it

即使方法显然已被注释为已弃用.好像他们将其包含在API中一样,所以人们可以调用它并期望设计的功能以后可以工作,然后再对其进行更好的考虑,因此他们包含了注释“未实现,但不建议弃用”,然后继续进行并弃用了它,却忘记了更新文档.

Oracle确实采用了bug reports,也许这符合他们可以用来增强文档的反馈的资格.

标签:api-design,java

来源: https://codeday.me/bug/20191208/2088829.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值