2
在java中,我們可以具有取類作爲參數,例如一種方法:斯卡拉 - 傳遞性狀類型作爲方法參數
void someMethod(Class className)
{
System.out.println(className);
}
類似地,代替類的,有沒有在階的方式來取特質作爲參數?
在java中,我們可以具有取類作爲參數,例如一種方法:斯卡拉 - 傳遞性狀類型作爲方法參數
void someMethod(Class className)
{
System.out.println(className);
}
類似地,代替類的,有沒有在階的方式來取特質作爲參數?
如果你能做到這一點,你將如何使用它?
斯卡拉特徵被編譯成一個接口和一個相應的類。你能通過進入接口的方法(因爲接口是一種類):
scala> trait Foo
scala> val c: Class = classOf[Foo]
a: Class[Foo] = interface Foo
scala> def someMethod(c: Class[_]) = c.getName
scala> someMethod(a)
res1: String = Foo
類部分被編譯成一個隱藏Foo$class
類文件。但是,您可以將一個類別實施爲您的特性轉換爲方法。由於劃分爲底層Java類和接口,我不知道直接傳遞Trait的方法。
感謝您的答覆。 – Mahendra