The best way to learn foreign language is to take a class. Why? The professor will teach you all the basic that you cannot learn anywhere else. Without knowing the basic, you will not understand anything.
It is hard to learn by yourself as you will not understand how the language is structured and how to say it right.
The second method is to travel to a specific country with the language you want to learn. Then you would participate with people around you and listen to what they say. Over time, you will actually be speaking their language without knowing it.
Lastly, just hang out with foreign friends. They will teach you the language. This is very effective. Interact with them. You will pick up some :)