Gre*_*pff 38
它返回与给定实例的Object.getClass()相同的内容,但是当您静态地知道所需的类时(即在编译时),您可以使用它.
来自Javadoc:
返回此Object的运行时类.
简而言之,它为您提供了一个表示(原始)对象类的对象.当你想以编程方式发现方法和字段以便调用/访问它时,它可以通过反射来使用.
例如:
Method m[] = String.class.getDeclaredMethods();
for (int i = 0; i < m.length; i++)
{
System.out.println(m[i].toString());
}
Run Code Online (Sandbox Code Playgroud)
Javadoc还引用了Java语言规范 - 类文字(可能有点重读).
Fra*_* IV 13
它返回表示指定类名的Class对象.如果需要获取Class对象,则使用此方法.
这大致对应于.getClass(),它返回与对象实例对应的Class对象.如果要使用Class对象并且没有对象实例,可以使用someclassname.class.
小智 5
.class 是一个类文字...就像 5 是一个 int 文字一样,5.0 是一个 double 文字(令人惊讶的是,java.lang 包中有一个名为“Class”的类)。
因此,您可以打印类文字(就像您可以打印任何对象一样......您将获得 toString() 方法在 Class 类中返回的内容)。您可以有一个类变量。
PS:还有很多功能可以使用
小智 5
Object.getclass = 类名.class
它们都返回对象的运行时类
例如
Class lii = SomeClass.class;
Class leo = new SomeClass().getClass();
//lii==leo
Run Code Online (Sandbox Code Playgroud)
就像
String var1 = "heloo";
int var2 = 9;
float var3 = 8.0;
Run Code Online (Sandbox Code Playgroud)
var1 存储“heloo”,它是一个字符串文字,var2 存储 9,它是一个整数文字,var3 存储 8.0,它是一个浮点文字,所以 lii 和 leo 也存储运行时从 SomeClass.java 文件生成的类文字