have done是现在完成时的主动语态,have been done是现在完成时的被动语态.
但she has benn all over China by plane .这句话是主动语态,因为它没有done这个实义动词.它是have been.have been是系动词be的现在完成时,是主动语态.系动词没有被动语态.
请看下面两个句子:
She is in China now.她现在在中国.(这里讲的是客观情况,用一般现在时.)
She has been in China since 1999.她自从1999年以来一直在中国.(这里讲的是从过去到现在一直在发生的状态,用现在完成时.)
这两个句子都是主动语态.
不明白的请继续追问!如觉得满意,请记得采纳,