特殊意味着它們給你的功能是不可能的,所以它們通過編譯器以特殊方式處理。 例子:「DelayedInit」 - 將所有初始化代碼主要方法,「動態」 - 代理的所有方法等我在哪裏可以找到Scala中所有特殊特徵的列表?
9
A
回答
12
目前,唯一特殊的特徵我知道是DelayedInit
和Dynamic
的。
任何繼承這些特徵的東西也會得到編譯器的特殊處理,如App
,它的子類DelayedInit
。
值得注意的是,任何特徵可能被某些庫,框架或編譯器插件用作標記,以「爲您提供無法獲取的功能」。雖然這兩個是唯一被默認編譯器識別的特徵。
除了標記性狀,也有一些批註得到特殊對待,scala.annotation
和scala.reflect
的好地方找到這些,也有在@specialized
標註在scala
包和編譯器插件數(如分隔的延續) 。
10
還有scala.Singleton
。
這是一個final trait
並且在編寫代碼時不能正常使用,但是使用某個單例如object Foo
的每個人都已經間接使用它。
Singleton
使用由編譯器來擴展一個單,因此:
scala> object Foo
defined module Foo
scala> Foo.isInstanceOf[Singleton]
res0: Boolean = true
相關問題
- 1. 我在哪裏可以找到所有特殊HTML字符的列表?
- 2. 我在哪裏可以找到所有PHP函數的列表?
- 3. 我在哪裏可以找到關於Perl特殊變量的信息?
- 4. 在哪裏可以找到所有jQuery事件的列表?
- 5. 我在哪裏可以找到'可自動替換的'iOS特殊字符列表?
- 6. 我在哪裏可以找到所有可用的Xulrunner偏好列表?
- 7. 我在哪裏可以找到wxPython函數的所有可能參數列表?
- 8. 我在哪裏可以找到特定API版本的文檔?
- 9. 我在哪裏可以找到特定版本的文檔
- 10. 我在哪裏可以找到特權升級的好例子?
- 11. 我在哪裏可以選擇忽略特殊字符與Regexp.new?
- 12. 在表中的特定列中的所有行中查找特殊字符
- 13. 我在哪裏可以找到所有OrientDB SQL預測的列表?
- 14. 我在哪裏可以找到javascript對象所有方法的列表?
- 15. 我在哪裏可以找到所有HQL關鍵字的列表?
- 16. scala自我感知特徵
- 17. 我如何獲得所有可用特殊方法的列表?
- 18. 我在哪裏可以找到時間表列表?
- 19. 我在哪裏可以獲得所有Robotium命令的列表?
- 20. 我在哪裏可以找到所有Android營銷圖形?
- 21. 我在哪裏可以找到所有App Maker按鈕圖標?
- 22. Google的UrlShortener,我在哪裏可以找到列表
- 23. 我在哪裏可以找到Transformer.setOutputProperty的屬性列表?
- 24. 我在哪裏可以找到默認VB按鈕的列表?
- 25. 我在哪裏可以找到不含.NET的COM庫列表?
- 26. 我在哪裏可以找到完整的devstack服務列表?
- 27. 我在哪裏可以找到Facebook的網絡列表?
- 28. 我在哪裏可以找到的UIKit
- 29. Qt-我在哪裏可以找到我可以使用的字體列表?
- 30. 我在哪裏可以找到XmlException可以包含的所有可能消息的列表?
A小調點:DelayedInit是「神奇」性狀,應用程序只使用它。 –
由於性能方面的原因,對於JVM上構造函數的優化,「App」只是「神奇的」。通過給它一個'main(args:Array [String])'方法,你可以很容易地創建自己的可執行特徵:例如參見(不推薦)的'Application'特徵。 –