我有問題哪些下面的方法,變量,塊加載在java中的類加載時,而不管對象的創建和不通過對象訪問它們?什麼是加載(修飾語,塊,方法)或類之前加載在Java?
1. static variables
2. static methods
3. final variables,methods
4. static blocks
5. instance ({..... })blocks
6. main()
7. constructors (argumented and default)
8. instance variables
其中哪些是在java中加載類的時候? (加載的順序不是必需的,我只是想知道什麼是加載之前,或與類加載在Java)
我的意思是如果有像靜態方法公共靜態void main()和其他靜態方法將被加載第一個主要方法或其他靜態方法? – user2199330
您使用的方法按您使用它們的順序加載。靜態字段將首先被初始化(按它們出現的順序) –
類的每個部分同時被加載*;對於JVM,它只是一個字節數組。沒有加載方法的順序。不應將類加載與* static class initialization *混淆,儘管這會發生在稍後以及靜態字段按文本順序初始化的地方,因爲它們出現在源代碼中。 –