Die Companion-Klasse erfordert den Import von Companion-Objektmethoden und verschachtelten Objekten?

8

Ich schaue mir Akka verwandten typsicheren Aktivator Code an und das folgende Konstrukt faszinierte mich:

Begleitobjekt:

%Vor%

Companion-Klasse: it importiert die Companion-Objektmethoden:

%Vor%

Also ... das ist ein bisschen überraschend. Warum gibt es keine "spezielle Beziehung" zwischen der Companion-Klasse und dem Objekt, die es der Klasse ermöglicht, die Objektmethoden automatisch zu "sehen"?

Update Ich war ein wenig skeptisch und ging daher den "import MarkerActor._" auskommentieren. Dies führte zu "Symbol nicht gefunden: Stop" -Fehler in der Companion-Klasse. Also ... der Import ist wirklich erforderlich.

    
javadba 16.05.2014, 21:24
quelle

1 Antwort

13

Vor einigen Jahren wurde darüber diskutiert, ob implizit alle Companion-Objekt-Member in ihre übergeordneten Klassen importiert werden sollen. Die damals getroffene Entscheidung, die heute noch Sinn macht, sollte einen expliziten Import erfordern, da es einfacher ist, einen zusätzlichen Import hinzuzufügen, als einen unerwünschten zu entfernen. Hier ist die vollständige Diskussion .

    
Chris 18.05.2014, 23:28
quelle

Tags und Links