have/has done 表示已经完成了的事情.所谓过去完成~have/has been doing 表示还在做,但是已经做了一段时间了.后面最好接时间段. I have done this before. 这个我以前做过.I have been doing this for 4 years. 我做这个已经有4年了.