abstrakte Klasse NumberFormat - sehr verwirrt über getInstance ()

Ich bin neu in Java und habe eine Anfängerfrage:

NumberFormat ist eine abstrakte Klasse und daher nehme ich an, dass ich keine Instanz davon machen kann. Es gibt jedoch eine öffentliche statische Methode (Factory?)getInstance() das erlaube mir zu tun

NumberFormat nf = NumberFormat.getInstance();  

Ich bin ziemlich verwirrt. Ich würde mich freuen, wenn mir jemand Hinweise geben könnte zu:

Wenn es eine öffentliche Methode gibt, um eine Instanz dieser abstrakten Klasse abzurufen, warum haben wir dann nicht auch einen Konstruktor?Dies ist eine abstrakte Klasse; Wie können wir diese statische Methode haben, die uns eine Instanz der Klasse gibt?Warum so ein Design wählen? Wenn ich annehme, dass es möglich ist, eine Instanz einer abstrakten Klasse (???) zu haben, verstehe ich nicht, warum diese Klasse überhaupt abstrakt sein sollte.

Danke.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage