扫码关注官方订阅号
不是很明白Type 和 Class 之间的关系, Class与对象之间的关系。
Object是基类,所有类的祖宗;Type是类型,如基本数据类型;Class是对象,每个类的对象的共性做的抽象。
Class实例化后就是对象,如类A,A.class就是class对象。
A.class 不是A的字节码文件吗?
Object 是所有类的父类,而我们是用class去描述Object 是什么东西,就像 我是人,人类是所有人的父类,我们用高等动物去描述人类是是什么东西。
Object 的 Type 是 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。
User user = new User();
User
Class可以看成是类实例的类,每一个类被加载到JVM中都会产生唯一的一个类实例,记录类型的详细信息,如:User 类被加载到JVM中会产生一个类实例,其类型为Class,可以通过User.class获得这个类实例。
User.class
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
Object是基类,所有类的祖宗;
Type是类型,如基本数据类型;
Class是对象,每个类的对象的共性做的抽象。
Class实例化后就是对象,如类A,A.class就是class对象。
A.class 不是A的字节码文件吗?
Object 是所有类的父类,而我们是用class去描述Object 是什么东西,就像 我是人,人类是所有人的父类,我们用高等动物去描述人类是是什么东西。
Object 的 Type 是 Class
Class
Type
从Jdk的源码可以看出,
Type是Class实现的一个接口每一个实例对象是其类型 class 的一个实例,如:
User user = new User();user 是 User 类的一个实例,其类型为User。Class可以看成是类实例的类,每一个类被加载到JVM中都会产生唯一的一个类实例,记录类型的详细信息,如:User 类被加载到JVM中会产生一个类实例,其类型为Class,可以通过User.class获得这个类实例。