回答
沒有區別
我們寫的包從一個名稱相似的類區分開來,如果有的話,您的項目。例如,如果您的項目也有一個名爲String
的類,java將不知道要使用哪個String類 - 您的或Java的內置類。
謝謝Raghuram!您的帖子非常有用。 :) –
沒有區別。隱式地導入所有java程序中的java.lang
包。
謝謝亞薩! :) –
如果沒有定義自定義的「字符串」類,則沒有區別。
但是,如果你定義了你自己的「String」類。然後你需要額外的java.lang來識別正確的String類。
嗯,我明白了!謝謝Gapton! :) –
爲什麼我們要寫完整包的名字?
在這種情況下,你應該不需要。
作爲@Asaph狀態,java.lang
是隱式地將導入到每個類中。這意味着您的代碼可以通過簡單的類名引用String
和其他類,如Boolean
,System
和NullPointerException
。
唯一的情況下,你會需要通過其完全限定域名(java.lang.String
)是指String
是:
如果你是在一些反射API提供的類名作爲字符串,或
如果你已經愚蠢地寫了一個你自己的類,其簡單的名字是
String
;例如com.example.stupid.String
,並且您已明確導入版本的String
爲其他類。
最佳做法是通過其簡單的名稱來指代班java.lang
,並不能與其他套餐一樣簡單的名稱定義自己的類。
在一般情況下,這兩種形式的意思是完全一樣的東西,並給你一模一樣的編譯代碼:
// version 1
package com.example.bar;
import com.example.foo.Foo;
public class Bar {
private Foo myFool;
...
}
// version 2
package com.example.bar;
public class Bar {
private com.example.foo.Foo myFool;
...
}
大聲笑。 Gr8發佈。非常感謝Stephen C! :) –
- 1. java中的初始化初始化
- 2. 初始化在JAVA
- 3. 初始化在Java
- 4. 初始化在Java中
- 5. 在java中初始化byte []
- 6. 在Java中StringBuilder初始化
- 7. Java T初始化
- 8. Java類初始化
- 9. Java初始化塊
- 10. JAVA初始化塊
- 11. 正在初始化,並在Java中
- 12. 在Java中初始化最終字段
- 13. 在java中初始化數組名稱
- 14. 初始化對象直接在Java中
- 15. 在一行中初始化Java數組
- 16. 如何在Java中初始化Set?
- 17. ArrayList在java中未正確初始化
- 18. 雙括弧初始化在java中
- 19. 在Java中初始化大量數組?
- 20. 聲明和初始化在java中
- 21. 在JAVA中隨機初始化BitSet
- 22. 泛型類 - 初始化在Java中
- 23. 在Java中初始化的順序
- 24. 如何在Java中初始化圖形?
- 25. 在Java中初始化的順序
- 26. 初始化在初始化列表
- 27. std ::數組初始化列表在初始化列表中初始化
- 28. Java - 私有初始化程序或在構造函數中的初始化?
- 29. Java類初始化難題
- 30. 數組初始化Java
你沒有使用'String'或'的java.lang。字符串'來初始化任何東西。你只需使用這些標記**來命名**類型。 –