RequestDispature red = request.getRequestDispature("xyz");
What happens here is that the getRequestDispature method is called on the object request. Somewhere in that method it obtains an instance of some class that implements RequestDispature. Nothing in that line of code tells you what class is or how it gets it, all you know is that it implements RequestDispature. Because you are assigning that result to a variable of type RequestDispature everything is OK.
If you want to know more you can look at the documentation for getRequestDispature, and see how it declares its return type. Maybe that's just RequestDispature, or maybe it names an actual class that implements RequestDispature. Also at runtime you could print red.getClass() which will tell you exactly what kind of object was returned from request.getRequestDispature
This is a common thing in Java - for example you may have a method
public List getSomeStuff()
List is an interface, so you can use all its methods on the returned List. But inside getSomeStuff you will find an instance of ArrayList, or LinkedList, etc. It may even return a different class depending on some internal criteria.