The question may at first sound silly, but maybe it isn't at all.
Java is not the Java language, most people know that, since you can program Java with lots of other langauges like Scala or Groovy
Java is not a concrete VM implementation since there are other implementation out there, not only SUN's, Microsoft's or IBM's.
Java is not the class framework since many implementation add or leave out classes at will.
It isn't even that a common VM specification or even Java bytecode must be used, see Dalvik VM
Maybe it is just a set of principles they share, whatever this may be. It definitely is not "Write once, run everywhere" since this isn't the case for at least Dalvik and Microsoft VM/J#.
So the question is, what exactly is Java? Is there even an exact definition?
EDIT Lots of people seem to have the opinion that java only means the programming language. So a java-enabled mobile phone must be a phone which enables the user to use programs consisting of class files created with the java language only. If this would be true, the java virtual machine / java runtime environment / java development kit would be made for java only and other jvm languages would have their own corresponding xvm / xre / xdk.