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
As @Braj mentioned in comments, you can use static factory. Private constructor cannot be accessed outside of class, but it can be accessed from inside, like the following:
public class Test
{
private Test(){
}
static Test getInstance(){
return new Test();
}
}
This pattern can be used for making Builders, for example.