by引导的时间状语常与完成时态连用

有一读者问这样一道选择题:

(1)I have been here for four years; by next summer I _____.

A. would be graduated B. shall have graduated

答案为B,为什么不用A? 将A改为would have graduated可以吗?

这里的by意指“在……之前”,故而by next summer之后应用将来完成时。这种by常与完成时态连用,再如:

(2)By 2008 the number will have grown to 1,400 millions.

would have graduated可用,但须改变谓语的时态,如:

(3)He said that by next year he would have graduated from the university.