Was ist Scala entspricht dem statischen Block von Java?Was ist Scala entspricht dem statischen Block von Java?
24
A
Antwort
31
Code im Konstruktor (dh der Körper) des Companion-Objekts ist nicht genau das gleiche wie Code in einem statischen Initialisierungsblock einer Java-Klasse. Im folgenden Beispiel erstelle ich eine Instanz von A, aber die Initialisierung findet nicht statt.
scala> object Test { class A; object A { println("A.init") }}
defined module Test
scala> new Test.A
res3: Test.A = [email protected]
scala> Test.A
A.init
res4: Test.A.type = [email protected]
Zum Aufbau des Begleitobjekt ausgelöst, wenn die erste Instanz der Klasse erstellt wird, können Sie es aus der Klasse Konstruktor zugreifen konnte.
scala> object Test { class A { A }; object A { println("A.init") }}
defined module Test
scala> new Test.A
A.init
res5: Test.A = [email protected]
scala> new Test.A
res6: Test.A = [email protected]
In vielen Fällen würde der Unterschied keine Rolle spielen. Aber wenn Sie Raketen (oder andere Nebenwirkungen) starten, könnten Sie sich interessieren!
Verwandte Themen
- 1. Load Java-Eigenschaften in statischen Initializer-Block
- 2. Verwenden von statischen Block zum Zuweisen von Ressourcen in Java
- 3. Was ist der Gültigkeitsbereich von Variablen, die in einem statischen Block in Java deklariert sind?
- 4. Was entspricht VB.NETs dem Standardschlüsselwort von C#?
- 5. Was ist das VB.NET entspricht C# 'using' Block
- 6. Scala Kriterium entspricht
- 7. Was ist C++ 11 entspricht der Java-Instanz von
- 8. keinen Zugang zu einer Java statischen Methode von scala
- 9. Scala Regex Mehrere Block Capturing
- 10. Was entspricht das C++ Java-java.io.FileInputStream.read()?
- 11. Was die Verwendung von Scala Future.fallbackTo ist
- 12. Java 8: Was entspricht "UseSplitVerifier"?
- 13. Aufruf einer geschützten statischen Java-Methode von Scala
- 14. Was ist das Scala-Äquivalent von Java ClassName.class?
- 15. Was ist PostgreSQL entspricht SYSDATE von Oracle?
- 16. Java Verarbeitungsreihenfolge von Annotation und statischen Blöcken
- 17. Was entspricht dem System.Diagnostic.Process auf WinRT (C#)?
- 18. Was ist die Linq entspricht dem SQL-IN-Operator
- 19. Scala entspricht Rubys map.each?
- 20. Was ist der Unterschied zwischen statischen und nicht statischen globalen
- 21. Was ist WPF entspricht ControlPaint.Light?
- 22. Was ist der C# Regex entspricht Java appendReplacement und appendTail
- 23. CocoaTouch entspricht dem Java Custom Protocol Handler
- 24. moxy: was entspricht RuntimeTypeInfoSet
- 25. Java entspricht dem dynamischen C# -Typ?
- 26. Angular 2 - Was entspricht dem Root Scope?
- 27. Was entspricht inf-Dateien auf dem Mac?
- 28. Java statische Code-Block
- 29. Entspricht dem C# -Schlüsselwort "as" in Java
- 30. Wie von einem statischen Initialisierungsblock in Java