Ok 概念上的困难 - 从一本书中阅读和学习 Java
它提到了以下内容(在解释几个不同主题的过程中)-
Java 不支持类层次结构中的多重继承。所以如果 C 类是 A 类的子类,那么它就不能也是 B 类的子类(我知道接口(interface)在这里提供了解决方案)
java.lang.Object
是所有类(系统和用户)“扩展”的原始类。所以每个类都是该类的直接或间接子类java.lang.Object
Java 中的类不仅是编译器的产物 - 而且在运行时,由类的实例表示
java.lang.Class
难道#3 不意味着用语言本身定义的类属于 java.lang.Class
类型吗? - 而#2 表示它们也是 java.lang.Object
类型- 与#1 相矛盾? java 类的子类属于哪个类?
如果#1 仍然成立,我猜这意味着#3 只是说类的“运行时表示”是类 java.lang.Class
的实例- 这是 java.lang.Object
的 child ??, 但类本身是 java.lang.Object
的子类??
感谢您的指导!!提前致谢!
最佳答案
Doesn't #3 mean classes defined in the language themselves are of type
java.lang.Class
没有。 (Class) testclass
是语法错误 - 没有类是 java.lang.Class
的子类- 这是 final
.
Class
延伸Object
并代表 class
.
假设我有 TestClass
延伸Object
默认情况下,现在 TestClass.class
或 (TestClass).getClass()
存在 - 他们返回 Class<TestClass>
, 它扩展了 Object
并且是 Class
的实例.
But if you look into the Java documentation for Class
, you'll see they are more than Object
s.
关于java.lang.Class 和 java.lang.Object,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24718980/