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 instance of an abstract class (???), I don't get why this class should be abstract at all.
Thank you.
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…