Learn what? If it's about learning texts/poems:
For texts, it's simple because you have to read them once or twice and then just memorize the topics order.
For poems, it's a little bit harder as you have to learn them word-by-word. A good way can be to voice-record the lines as a song and then put (what word should I use here instead of 'put'? Overlap? Is there a specific word for this action?) them on an instrumental. You've probably noticed that you can sing a song just because of listening it a couple of times. However, I'm not learning poems.
Learning something else like numbers - which can represent altitudes, years, etc -, names and new words is about finding some logical connections.
And finally, learning grammar, vocabulary, new physics exercises, increasing your math computing speed, your diction and so on, it's mainly based on practice. The more you practice, the better results you get.
Of course, you can learn almost everything from the classroom by paying attention to the teacher and having a good teacher, I was talking about how can you learn by yourself.
I'm posting to improve my English. If you see any grammar/vocabulary mistake in my post, please let me know.