Wie können wir unterscheiden, um eine Klasse zu erstellen, die statisch ist?Wann sollten wir eine statische Klasse erstellen?
Antwort
Eine statische Klasse erzwingt, dass alle Methoden statisch sind und verhindert, dass ein Instanzkonstruktor dafür instanziiert werden kann. Wenn Ihre Frage erstreckt, wenn statisch und wann Beispiel, gehen Sie bitte eine Suche auf Stackoverflow (oder Verwandte Kasten auf dieser Seite überprüfen)
Mindestens in C#, statische Klassen und Klassenelemente verwendet werden, um Daten zu erstellen und Funktionen, auf die zugegriffen werden kann, ohne eine Instanz der Klasse zu erstellen.
Wenn die Klasse statisch sein soll, d. H. Nur 1 Kopie innerhalb des Programms (VM) hat, gibt es zwei offensichtliche Mechanismen: 1. Alle Member und Methoden der Klasse statisch machen (Java/C#). 2. Verwenden Sie das Singleton-Entwurfsmuster.
Für diesen Fall (statisch in der Natur) haben wir kein Sprachkonstrukt und daher wird eine der oben genannten Techniken verwendet. Was Ihre Frage für diesen Fall betrifft, sollten solche Klassen erstellt werden, wenn Sie möchten, dass Ihre Funktionalität global zugänglich ist, unverändert und sofort zugänglich, z. Hilfsmethoden, globale Konstanten usw.
Zweitens wird das Schlüsselwort 'statisch' mit Klassen verwendet, um ihre Sichtbarkeit im Paket zu erhöhen. Dieses Schlüsselwort kann nur auf innere Klassen angewendet werden und erlaubt den Zugriff auf innere Klassen ohne den Kontext ihrer Elternklasse. Eine solche Art von statischen Klassen sollte nur für diejenigen inneren Klassen verwendet werden, die ihren Zweck innerhalb der Elternklasse erfüllen, sowie außerhalb der Klasse oder des Pakets, z. Schlüssel eines POJO.
- 1. Wann sollten wir statische Funktion in asp.net Klasse schreiben
- 2. Wann sollten wir multiprocessing.Pool.join aufrufen?
- 3. Wann und warum sollten wir die Klasse System.ComponentModel.Container verwenden?
- 4. SPL vs. Array: Wann sollten wir SPL verwenden und wann sollten wir Array in PHP verwenden?
- 5. Wann sollten wir '===' Operator in Javascript verwenden?
- 6. Wann sollten wir (wirklich) RenderScript verwenden?
- 7. Git, also wann sollten wir Rebase verwenden?
- 8. Wann sollten wir Mockery vs JUnit4Monitor benutzen?
- 9. Wann sollten wir die EntityManagerFactory schließen?
- 10. Wann sollten wir instanceof verwenden und wann nicht
- 11. Wann Singleton-Klasse über statische Klasse
- 12. Können wir öffentliche statische abstrakte Klasse in Java erstellen?
- 13. Wann sollten wir Html-Helfer, Razor-Helfer oder Teilansichten verwenden?
- 14. Wann sollten Sie eine lokale Klasse in Java verwenden?
- 15. Warum sollten wir eine Schnittstelle innerhalb einer Klasse deklarieren?
- 16. Warum sollten wir statische (feste) Portnummern in grundlegenden Netzwerkdiensten verwenden?
- 17. Wann sollten wir addDisposableTo (disposeBag) in RxSwift aufrufen?
- 18. Wann sollten wir nicht den Domain-Driven Design-Ansatz verwenden?
- 19. Repository-Muster im Entity-Framework 4 Wann sollten wir disponieren?
- 20. Wann müssen wir einen Proxy-Service erstellen und wann müssen wir Rest Api erstellen?
- 21. Wann sollten wir .then mit Protractor Promise verwenden?
- 22. In C++ 11 wann sollten wir explizit std :: cerase verwenden?
- 23. Wann sollten wir verwenden sizeof mit und ohne Klammern
- 24. Warum sollten wir statische Aufrufe in PHP verwenden?
- 25. Wann und warum wir eine Klasse in Java zurückgeben?
- 26. Warum * sollten * Wir verwenden EventHandler
- 27. Federdraht eine statische Klasse
- 28. Wann statische Eigenschaft deklarieren?
- 29. Sollten wir BizTalk/ESB einführen?
- 30. Wann verwenden wir POJO und wann verwenden wir SLSB