📅  最后修改于: 2023-12-03 15:02:04.452000             🧑  作者: Mango
在Java中,每个对象都有一个getClass()方法,可以用于获取该对象的类。这个方法返回的是一个Class对象,可以用来获取类的信息,例如类的名称、类的修饰符、类的父类、接口等等。
public final Class<?> getClass()
这个方法返回的是一个Class对象,表示该对象的类。
String str = "Hello World!";
Class<?> strClass = str.getClass();
System.out.println(strClass.getName());
上述代码会输出java.lang.String
。我们可以看到,通过getClass()方法,我们可以获取到字符串对象的类名。
getClass()方法的主要应用场景之一是在反射中。在反射中,我们可以使用Class对象来获取类的各种信息,也可以通过Class对象来实例化对象、调用方法、获取或设置属性等等。
Class<?> clazz = Class.forName("com.example.MyClass");
Object obj = clazz.newInstance();
Method method = clazz.getMethod("myMethod", String.class);
method.invoke(obj, "hello");
上述代码中,我们首先通过Class.forName()方法获取MyClass类的Class对象。然后通过newInstance()方法创建该类的实例,再通过getMethod()方法获取到myMethod()方法的Method对象。最后通过invoke()方法调用该方法。
getClass()方法返回的是一个Class对象,可以用于获取对象的类。在反射中,Class对象是非常重要的,可以用来实例化对象、调用方法、获取或设置属性等等。