What is the difference between static and dynamic tokens? First, what is the difference between hardware and software tokens?
Tokens are "what you have" for example a car key or a chipcard. This would be (I think) hardware tokens? But what are software tokens?

Also what is the difference between static and dynamic tokens? 

Could you give me examples for better understanding?
Software tokens are software that generate tokens for you. For example the Google Authenticator App or Authy on your smartphone, while hardware tokens are actual hardware that are only made for generating those tokens without doing anything else, such as RSA SecurID.

A static token would be a token that is always the same, for example a password stored on a Yubikey that is entered each time you press a button on the token.
A dynamic token is a token that varies, like Google Authenticator two-factor tokens that change each 10 or whatever seconds.