1、时态不同
从时态形式来看,can 只有现在式和过去式(could),而 be able to 则可根据需要使用多种时态,还可以和一些情态动词连用,或用作动词不定式等非谓语形式。could是can 的过去式。
I haven't been able to sleep recently. 最近我睡不着觉。
He can swim. 他会游泳。
He couldn't be a bad man.他不大可能是坏人。
2、含义不同
用于现在时,can 泛指一般的能力,而 be able to 则主要指具体做某件事的能力。could不表示时态。
He can swim. 他会游泳。
I am able to express my idea in a clear way. 我能清楚地表达自己的想法。
Could I have the television on?你能打开电视吗?
3、表能力时不同
如果要表示"一时的能力",即"在过去某时有某种能力,并顺利地完成某事",则要用 was / were able to,而不能用 could。could 表示可能或有能力做。
Though he was sick, he was able to swim across the river. 虽然他病了,但他还是游过了河。
I could pass the examination. 我当时有能力通过考试。(有能力,但实际上不一定做得到)