Java'dan bir scala paket nesnesinde bulunan Foo
nesnesine nasıl erişilir?Java'dan bir scala paket nesnesinde bulunan bir nesneye nasıl erişilir?
package object domain { object Foo } domain$.MODULE$.Foo$.MODULE$
Java'dan bir scala paket nesnesinde bulunan Foo
nesnesine nasıl erişilir?Java'dan bir scala paket nesnesinde bulunan bir nesneye nasıl erişilir?
package object domain { object Foo } domain$.MODULE$.Foo$.MODULE$
olmalıdır böylece paket nesneler, bu konuda, normal nesneler gibi davranması gerektiğini hiçbir neden göremiyorum, ancak önerilen domain$Foo$.MODULE$
çalışmıyor. domain.package$Foo$.MODULE$
kullanmanız gerekir.
Ve scala sınıfı göz önüne alındığında vb nesneler, yöntemleri için biraz farklı:
package object domain {
object foo
def bar = 42
val baz = 1.0
}
Sen gibi Java foo
, bar
ve baz
erişebilir:
domain.package$foo$.MODULE$
domain.package$.MODULE$.bar()
domain.package$.MODULE$.baz()
ben iken Bunu anlamaya çalışırken, başımızın dertte olduğunu sanıyordum çünkü Scala, Java'da içe aktarılamayacağınız package
adında bir sınıf oluşturuyor. Neyse ki, yalnızca alabileceğiniz package$
tamamlayıcı nesnesine ihtiyacımız var.
Scala lib'deki bir nesnede bir nesneye bakarsanız, ör. scala.math.Ordering.Boolean
, Java'dan scala.math.Ordering$Boolean$.MODULE$
'u kullanarak alabilirsiniz. Ben senin Foo
örneği Belki de bu Scala 2.8.1 olarak değişti domain$Foo$.MODULE$