No coz if you look closely the StringBuffer class does not extend the String class.
In simple terms and the eaiset way to see such codes is assume that both method had different names
say m1(StringBuffer) and m2(String)
now will this compile
m1(new String()) or m2 (new StringBuffer())
if the answer is yes that both the above will compile
then the call with a null will compile too.
E.x
assume m1(Object o) and m2 (String s)
m1(new Object()) or m2(new String())
as you will say that the above will compile and so will the call with null when both methods are same name
(This is a odd approach but I find it could be used)
Lawrence