In order to have a pointer to something, you need to know precisely what type it is, and for classes, all the data it contains. I can see how polymorphism would work for classes: the pointer points to the part of the derived class with the same data as the parent class, and is "unaware" of the additional data below it.
How, then does this work for Java interfaces? An interface provides no data, only a guaranteed set of methods. There is no unifying data to which a base class pointer could point.
I'm sorry if this doesn't make sense; I can try to make it clearer.