没错,will have done 除了可以用作将来完成时外,也可以用作表示完成动作的推测。两者的区别是:如果句子意思强调客观事实,则为将来完成时;如果句子意思强调主观判断,则为表推测用法。比较并体会下面两组句子:
▲下面的句子是将来完成时:
I will have retired by the year 2020. 到2020年我将已退休。
The old currency will have been phased out by 2019. 旧币分阶段至2019年将全部禁止流通。
By the end of next week, I will have been a teacher for 25 years. 到下周末,我当老师就有25年了。
The smart ones will have already bagged their seats by placing cards on them. 聪明人早已在座位上放一张卡片占住了位子。
By the time the case comes to trial, he will have spent a year in prison. 到这个案件开庭审理时,他将已经在监狱里呆了一年了。
▲下面的句子是表推测的用法:
Frost will have blown a compression joint. 准是霜冻使压缩式接头爆裂了。
The alert listener will have noticed the error. 耳朵尖的人会已经听出了这个差错。
That will have been Roland. He said he’d be back at 7. 准是罗兰。他说他7点钟回来。
As you will have noticed, there is a new secretary in the front office. 也许你们已经注意到了,前面的办公室来了一位新秘书。
If someone has been in captivity for a long time, he will have changed as a result of his experience. 如果某人遭到长时间囚禁,他会因为他的经历而有所改变。
In the event that an attack is launched, the defenders will have been significantly weakened by air attacks. 如果发动攻击,空中打击将使防卫者的防卫能力大大减弱。
【对追问的补充解答】
▲英语中表示推测的方式很多,如果用 will 来表示的话,原则上是这样的:
will + 动词原形:对现在或将来情况的推测
will + have + 过去分词:对过去情况的推测
比较:
That will be Roland. I can hear him at the door. 那一定是罗兰。我听到他在门口的声音。(will be对现在情况的推测)
That will have been Roland. He said he’d be back at 7. (当时)那人一定是罗兰。他说7点钟回来。(will have been对过去情况的推测)
▲有时 will have done 也表示对将来情况的推测,但这类用法通常也可以视为将来完成时。如:
Maybe by then you will have changed your mind. 也许到时候你已经改变主意了。(可以视为将来完成时,也可以视为对将来情况的推测)
Planning so far ahead makes no sense—so many things will have changed by next year. 提前这么久就计划并不明智——到明年,许多事情都会发生变化。(可以视为将来完成时,也可以视为对将来情况的推测)
如果觉得我的回答对您有用,请随意打赏。你的支持将鼓励我继续创作!