Java類對象?
回答
Java類不是一個對象。
但是,每個Java類都有描述它的Class
類的實例。
這些實例是對象。
我認爲這很重要,你的意思是「一個Java類」。 「類」的定義是不是一個對象?其中包含類聲明的源代碼? – 2012-08-16 15:12:58
因此,類「Class」的實例與使用'class'關鍵字創建的類不同。得到它了。 – itdoesntwork 2012-08-16 15:16:26
@MattBall:一個類是一個類型,而不是一個對象。 – SLaks 2012-08-16 15:47:09
每個Java類,即使java.lang.Class
下降從java.lang.Object
。
編輯:
措辭有點模棱兩可。 Java類的實例絕對是對象。班級本身並不能真正成爲對象,因爲除了班級「藍圖」之外,什麼都不存在於記憶中。
該類(您的代碼,甚至是.class文件中的編譯代碼)不是對象。在實例化該類之前,您沒有對象。
例如,Java.lang.String
是一類。 String s = new String("Hello world");
定義了一個String類型的對象。這可能是你教授正在做出的區分。
同樣,這裏「類」這個詞的定義很重要。 – 2012-08-16 15:14:43
同意,這就是爲什麼我指定我的答案指的是'類' – 2012-08-16 15:16:37
Java類不是對象,它們是抽象的。
但是,每個Java類都有一個表示它的類的java.lang.Class
的對應實例。該表示是的一個對象。但是你不應該把這個表示理解爲實際的東西。
這種關係有點類似於音樂和樂譜之間的關係。雖然書面符號代表音樂,但它本身不是音樂。
雖然這種差異很少在實踐中發揮作用,只要你知道你可以做什麼,不能做什麼就可以做到java.lang.Class
對象。
謝謝,這清除了它。編輯:讓我希望每種語言都像Ruby一樣簡單:) – itdoesntwork 2012-08-16 15:17:15
雖然Ruby比Java更復雜得多。 – biziclop 2012-08-16 15:26:18
- 1. Java對象類
- 2. [Java類和對象
- 3. 對象類,java API
- 4. Java 7對象類
- 5. 其他類的對象 - 對象 - Java
- 6. Java的xml到對象類
- 7. Java對象通知父類
- 8. 對象[]到類[]中的Java
- 9. Plain Old Java對象類
- 10. 對象java類代碼
- 11. 類,對象和方法。 Java
- 12. Java:擴展對象類
- 13. Java反射,類對象
- 14. 重用Java類對象的
- 15. Java:超類數組對象分配有子類數組對象
- 16. Java:給出類對象的泛型類
- 17. Java類和成員對象類型
- 18. Java - 對象內的對象
- 19. JSON對象的Java對象
- 20. 對象內的對象java
- 21. Java - 對象中的對象?
- 22. 如何創建子類對象的java抽象類列表
- 23. 返回java對象中的類對象Objective-C
- 24. JAVA克隆()將對象複製到其他類對象
- 25. java中配置對象的對象類型
- 26. Java在不同的對象中使用泛型類對象
- 27. 基本的Java對象類返回對象爲null?
- 28. 如何從父類對象加載子對象的Java
- 29. 從對象數組訪問對象類型方法java
- 30. java jackson解析包含泛型類型對象的對象
當你問他時,他給你什麼理由? – EJP 2012-08-17 00:24:39
@EJP他說過一個類是一個接口,但我不記得整個事情。 – itdoesntwork 2012-08-18 14:07:18
Java類確實是對象,即使是一種特殊的對象。例如,您可以有任何給定類SomeClass的多個實例:只需創建一個新的ClassLoader並再次加載「SomeClass」您會爲同一個編譯時類獲得不同的實例,可能會使用不同的方法實現。 – 2013-08-16 19:00:53