The reason I have a #tick() and a #render(...) method is 'speration of game logic and rendering' (<- not really... ).
You're using #tick() completely right. In tick() all the stuff in the game world is recursively updated, using the #tick() method. Then, in the next step, recursively everything is drawn using the #render() method.
What you're missing is the code inside #render(). You have to draw the player at that part.
The render() method here is just so I can test the tick() method, my actual rendering method is in another class. For some reason, when I run the program, nothing is being printed by the System.out.println(playerXPosition+" "+playerYPosition); that's what led me to believe that tick() wasn't working.