abstract class NumberFormat - very confused about getInstance()
I'm new to Java and I have a beginner question: NumberFormat is an abstract class and so I assume I can't make an instance of it. But there is a public static (factory?) method getInstance() that allow me to do NumberFormat nf = NumberFormat.getInstance(); I'm quite confuse. I'll be glad if someone could give me hints on: If there is a public method to get an instance of this abstract class, why don't we have also a constructor? This is an abstract class ; how can we have this static method giving us an instance of the class? Why choosing such a design? If I assume it's possible to have an