gpt4 book ai didi

java - Java API中的类 "Class"和 "class"关键字有什么区别?

转载 作者:搜寻专家 更新时间:2023-11-01 03:05:06 26 4
gpt4 key购买 nike

Java 类 Class(扩展 Object)和 class 关键字(用于创建的词)有什么区别一个类(class))?

最佳答案

在编程中,反射是程序通过分析运行时细节,例如对象实例的实际实现类,在运行时修改自身结构和行为的能力。 Class类是用于反射目的的 Java API 的一部分。而 class关键字是 Java 语言的结构,标记新类的定义,Class class 用于将变量和参数类型化为类本身。这是程序使用类定义本身作为对象进行编程的一种方式(例如,您可以以编程方式枚举类的公共(public)方法)。

此外,任何实例 o类型 Object (也就是说,Java 中的任何对象)都继承了 getClass实例方法。这会产生对象的实际运行时类,而不管对象存储在哪个编译时代码声明的变量类中。例如,对于某些已定义的类 X :

Object o = new X();
Class<?> type = o.getClass();

type现在将成为对 X 的引用类本身,匹配 Class<?>通用描述,因为 X类实际上是 Class<X> 类型的一个实例.

每个定义的类都有一个名为class 的静态变量回到类(class)本身。打电话getClass在类 X 的实例上将返回相同的 Class<X>作为该类的实例'class静态变量:

("some string").getClass() == String.class

值得注意的是原始类型都有一个静态的class。变量,即使它们不是对象。同样值得注意的是原始类型的 classclass 不同它的wrapper class :

int.class != Integer.class

关于java - Java API中的类 "Class"和 "class"关键字有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25426781/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com