Java反射是指在程序运行时动态地查找、加载、使用类和方法的能力。在Java反射中,getClass()函数是非常重要的一个函数。本文将为大家详细讲解Java反射学习中getClass()函数的应用。
在Java语言中,所有的对象在运行时都拥有一个getClass()函数。这个函数可以用来获取当前对象的类型信息,返回值是Class对象,表示该对象的类或接口。
public final Class<?> getClass()
我们可以利用getClass()函数获取一个类的名字,示例代码如下:
public class MyClass {
public static void main(String[] args) {
MyClass obj = new MyClass();
// 获取当前对象所属的类的全限定名
String className = obj.getClass().getName();
System.out.println("Class name: " + className);
}
}
输出结果如下:
Class name: MyClass
通过反射,我们可以在运行时获取到指定类的方法信息。示例代码如下:
import java.lang.reflect.Method;
public class MyClass {
public static void main(String[] args) throws Exception {
Class<?> cls = Class.forName("java.lang.String");
//获取所有的方法
Method[] methods = cls.getDeclaredMethods();
//打印方法名
for (Method method : methods) {
System.out.println(method.getName());
}
}
}
输出结果如下:
charAt
codePointAt
codePointBefore
codePointCount
compareTo
compareToIgnoreCase
concat
contains
contentEquals
copyValueOf
...
以上就是getClass()函数在Java反射学习中的应用。我们可以利用它获取类名、方法信息等一系列运行时使用的信息。反射虽然功能强大,但是开销较大,所以在使用时需要注意性能问题。