不是很明白Type 和 Class 之间的关系, Class与对象之间的关系。
Class
public final class Class<T> implements java.io.Serializable,
GenericDeclaration,
Type,
AnnotatedElement {
...
}
Type
public interface Type {
default String getTypeName() {
return toString();
}
}
从Jdk的源码可以看出, Type
是 Class
实现的一个接口
每一个实例对象是其类型 class 的一个实例,如:User user = new User();
user 是 User 类的一个实例,其类型为User
。
Class
可以看成是类实例的类,每一个类被加载到JVM中都会产生唯一的一个类实例,记录类型的详细信息,如:User 类被加载到JVM中会产生一个类实例,其类型为Class
,可以通过User.class
获得这个类实例。
A.class 不是A的字节码文件吗?
Object 是所有类的父类,而我们是用class去描述Object 是什么东西,就像 我是人,人类是所有人的父类,我们用高等动物去描述人类是是什么东西。
Object 的 Type 是 Class
15 回答8.2k 阅读
8 回答6k 阅读
1 回答4.1k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答3.2k 阅读
2 回答3.9k 阅读
1 回答2.2k 阅读✓ 已解决
Object是基类,所有类的祖宗;
Type是类型,如基本数据类型;
Class是对象,每个类的对象的共性做的抽象。
Class实例化后就是对象,如类A,A.class就是class对象。