你已经知道情态动词和它们的过去时(konnte、musste、wollte——情态动词日常口语里常用的过去时,和 war/hatte 一样)。情态动词也有现在完成时,只是它的构成方式和你目前学过的任何动词都不太一样:不用普通的过去分词,取而代之的是第二个不定式,这种结构叫作双不定式。
简单来说: haben(变位)+主要动词的不定式+情态动词自身的不定式,两者一起放在句末:Ich habe nicht schwimmen können. 情态动词通常的过去分词(gekonnt、gemusst……)只有在完全没有从属不定式时才会出现。
构成双不定式
只要情态动词带有从属不定式——这几乎总是如此——它的现在完成时就会用情态动词自身的不定式取代原本该有的过去分词,这个不定式放在主要动词的不定式之后:
- Ich habe arbeiten müssen.(我不得不工作。)
- Er hat nicht kommen können.(他没能来。)
- Sie haben nicht gehen wollen.(他们不想走。)
- Du hast schwimmen dürfen.(你被允许游泳。)
情态动词在现在完成时里永远用 haben,即使从属不定式本身通常会用 sein。gehen 自己的现在完成时用 sein(ist gegangen),但作为情态动词的从属不定式时,整体仍然用 haben:✅ Ich habe nicht gehen können.,绝不是 ❌ Ich bin nicht gehen können.
普通的过去分词:只在没有从属不定式时出现
情态动词确实有自己的、看起来很普通的过去分词——gekonnt、gemusst、gewollt、gedurft、gesollt、gemocht——但只有当情态动词单独使用、没有从属不定式来触发双不定式时,你才会看到它们:
- Ich habe das gekonnt.(我曾经能做到那件事。)——没有从属不定式
- Ich habe das machen können.(我曾经能够做那件事。)——从属不定式 machen 存在,所以双不定式取代了过去分词
语序:haben 放在双不定式前面,而不是后面
在主句里,这和其他任何现在完成时完全一样:haben 占据第二位,双不定式放在句末:
- Ich habe gestern nicht kommen können.
但在从句里,双不定式造成了一个众所周知的例外——打破了「限定动词要移到句子最后」这条规则:haben 会紧挨着放在双不定式前面,而不是后面:
- ✅ ..., weil ich gestern nicht habe kommen können.
- ❌ ..., weil ich gestern nicht kommen können habe.
中文没有和双不定式类似的结构来表达情态动词的过去——「我本来能来」「我不得不工作」都是靠普通的过去时表达方式,或者干脆用「了」「过」这类助词,而不会有一个不定式去替换另一个成分。双不定式是德语中很有特点、对中文母语者也较陌生的结构。
常见错误
- ❌ Ich habe schwimmen gekonnt. → ✅ Ich habe schwimmen können.(有从属不定式,所以双不定式要取代过去分词 gekonnt)
- ❌ ..., weil ich schwimmen können habe. → ✅ ..., weil ich habe schwimmen können.(在从句里,haben 放在双不定式前面,而不是放在最后)
- ❌ Ich bin nicht gehen können. → ✅ Ich habe nicht gehen können.(情态动词在现在完成时里永远用 haben,不管从属不定式本身通常会用哪个助动词)
小测验
填入正确的现在完成时形式。
- (müssen,ich) Ich ____ heute arbeiten ____.(habe / müssen)
- (können,er) Er ____ nicht kommen ____.(hat / können)
- 主句→从句:Ich habe das nicht machen können. → Sie fragte, warum ich das nicht ____ machen ____.(habe / können)
- (wollen,gehen,sie——她) Sie ____ nicht ____ ____.(hat / gehen / wollen)
查看答案
- Ich habe heute arbeiten müssen.
- Er hat nicht kommen können.
- Sie fragte, warum ich das nicht habe machen können.(在从句里,habe 放在双不定式前面)
- Sie hat nicht gehen wollen.(用 haben,不用 sein,尽管 gehen 单独使用时会用 sein)
用 GrammarMama 学得更快
这篇文章只讲了一个知识点——来看看 GrammarMama 如何帮你把它变成持久的进步:
-
了解你的水平 — 快速定级测试帮你确定 CEFR 等级,让每道练习都适合你。 测试我的水平 →
-
沿着清晰的路径学习 — 按照正确的顺序练习每个主题,从 A1 一直到 C2。 查看完整路径 →
-
设定你自己的目标 — 告诉我们你学习的理由,练习内容会围绕你的兴趣展开。 设定目标 →
-
追踪你的错误 — 发现让你反复出错的规律,并彻底改正它们。 查看我的错误 →
-
积累词汇量 — 练习中遇到的单词会被保存,并通过间隔重复来复习。 打开我的词汇表 →
-
练习口语 — 随时可以用说的来回答练习,而不用打字。 试试口语练习 →
-
训练发音 — 逐词获得即时的发音反馈。 训练发音 →
-
每天练一点点 — 适合你水平的简短每日练习,让语感保持新鲜。 开始练习 →
重点回顾
- 当情态动词带有从属不定式时,它的现在完成时会构成双不定式,而不是用过去分词:haben+主要动词的不定式+情态动词自身的不定式。
- 情态动词在现在完成时里永远用 haben,即使从属不定式本身通常会用 sein(Ich habe gehen können,不是 bin)。
- 情态动词通常的过去分词(gekonnt、gemusst、gewollt、gedurft、gesollt、gemocht)只有在完全没有从属不定式时才会出现。
- 在从句里,haben 紧挨着放在双不定式前面,而不是放在最后——这是「限定动词放在句末」这条常规规则唯一广为人知的例外。