The difference confused me for a bit, but consider the following:
Print(Vehicle v){
print("vehicle");
}
Print(Car c){
print("car");
}
Print(Boat b){
print("boat");
}
Vehicle test = Boat();
Print(test);
In a language with multi dispatch I believe this prints boat, whereas with single dispatch it prints vehicle.