2011-10-23 118 views
1

我正在編寫一個Clojure應用程序,它使用BouncyCastle在通過Internet傳輸時加密數據。然而,BouncyCastle有一些非常奇怪的書寫類,尤其是一種叫做ECCurve(橢圓曲線)的類。它只是一個抽象類,由兩個類Fp和F2m(不同種類的曲線)擴展而成。但是,這些都是在ECCurve中寫成公共靜態類(而不是單獨的文件)。在不同的類中創建靜態類的實例

所以問題是:當我創建一個聲明爲靜態的類的實例在不同的抽象類中時,我該如何引用它?我試過這個:

(def curve (new ECCurve.Fp params)) ; naive, I know (ECCurve is imported btw) 
(def curve (new ECCurve/Fp params)) 
(def curve (new (. ECCurve Fp) params)) 
(def curve (new (ECCurve/Fp) params)) 
(def curve (new org.bouncycastle.math.ec.ECCurve.Fp params)) 

...但這些工作都沒有(編譯器說拋出ClassNotFoundException)。任何想法,如何做到這一點?

謝謝, 大衛

回答

5

ECCurve$Fp纔是真正的類名。 Javac允許你使用ECCurve.Fp作爲基本的語法糖。

相關問題