I have a class Game that is my main class and a second class Card. Class Card hast its properties and constructor private, only function init is public. Function init checks
You should define your init method as static, implementing the static factory method that Braj talks about. This way, you create new cards like this:
init
Card c1 = Card.init(...); Card c2 = Card.init(...); ...