Welcome to the Ranch
What you are doing is creating each object inside the loop, and not keeping a variable (at least not in the code shown) which points to it outside the loop. When you get to the end of the loop, player points to the last‑created object.
Maybe you meant to keep the Player objects in a List or an array. Maybe the addPlayerInfo method does keep a copy of all their references.