Would I be right in thinking "boyfriend" rather than "friend" is heavily implied in this example, though?
My reasoning is that we would normally assume that people have friends unless they're toddlers or something, so in a normal context the question only makes sense if it refers to a boyfriend. Besides, if we really were suspecting that someone might have no friends at all, we'd be more likely to ask if they have "friends" (plural) - or presumably something like "Hat sie Freunde?"
Would be nice if a German speaker can confirm if this is as straightforward as I think it is...
So for disambiguating purposes in common speech, how would you actually say this?
For example, in French ami / amie have all the same meanings as Freund / Freundin, but in colloquial speech you would say “est-ce qu'elle / qu'il a un ami” to refer to a friend and “est-ce qu'elle / qu'il a un petit ami” to refer to a boyfriend.
In reality, often you will use copain / copine to refer to a romantic partner, except when you use it to refer to a non-romantic partner, so it doesn't unmuddle the waters much, although the meaning will usually be clear to native or very fluent speakers.
And if you wanted to make absolutely sure that you are referring to a regular friend you would use the very colloquial word pote (both masculine and feminine): “est-ce qu'elle / qu'il a un / une pote?” Note that this is absolutely not usable in a formal situation.
In Czech, where the word přítel / přítelkyně has both the meanings of a close friend or a romantic partner there can be a similar ambiguity but less commonly so that in French, as one usually uses kamarád / kamarádka, bit like “mate” in English or pote in French, for regular friends in most occasions (it is not as colloquial as the French or English equivalents).
So, how is it in German then?