2010-02-08 12 views

cevap

18

dışında bir ad kullanarak çevreleyen örneğine bakınız üye türleri vardır burada "bu" faydalı olabilir. Örneğin,

trait Outer { self => 
    trait Inner { 
    def outer = self 
    } 
} 

bazı durumlarda

trait Outer { 
    trait Inner { 
    def outer = Outer.this 
    } 
} 

, tercih edilir.

6

Bu herhangi bir şey olabilir: Kendini, bu, meep, blah, vb. Derleyici tarafından yalnızca hangi sınıfın yayınlanacağını belirlemede kullanılır (üzerinde yöntemleri çağırırken) ve aslında bytecode'da görünmez. adlandırırken yerel tanımlayıcılar öz türü tanımı geçersiz çünkü

dikkatli olun,:

trait A { 
    def baz = println("baz!") 
} 
trait B { 
    foo: A => 
    val foo = "hello" 
    // def bar = foo.baz // does not compile because foo is String, not A 
    def bar = foo.substring(1) 
}