详解Java的getClass()方法:返回当前对象的类对象

  • Post category:Java

Java的getClass()方法用于获取对象运行时的类信息。它属于Object类的方法,因此在任何一个Java对象中都可以使用。getClass()方法返回一个Class对象,该对象包含了对象所属的类的信息。

下面是getClass()方法的用法:

Class<? extends Object> getClass()

getClass()方法不需要任何参数,它会返回一个Class对象。这个对象保存了Class类的相关信息,其中包括类的名称、修饰符、父类、接口、方法等等。

下面是一个示例:

public class Student {
    private int age;
    private String name;

    public void setAge(int age) {
        this.age = age;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public String getName() {
        return name;
    }

    public static void main(String[] args) {
        Student s = new Student();
        Class<?> c = s.getClass();
        System.out.println(c.getName());
    }
}

在上面的示例中,我们创建了一个名为Student的类,并使用它创建了一个Student对象s。然后我们调用了s.getClass()方法,获取了这个对象所属的Class对象。最后我们通过Class对象的getName()方法输出了Student类的名称。

下面再给出一个示例:

public class Main {
    public static void main(String[] args) {
        Integer i = 5;
        String s = "Hello, World!";

        System.out.println(i.getClass().getName());
        System.out.println(s.getClass().getName());
    }
}

在这个示例中,我们创建了两个Java对象,一个是整数i,一个是字符串s。我们分别使用它们的getClass()方法获取了它们所属的Class对象,并通过Class对象的getName()方法输出了它们的类名。

getClass()方法的返回值是一个Class对象,开发者可以在它上面执行各种操作,例如创建对象、获取类的信息等等。getClass()方法在反射机制的应用中是非常常见的一个方法,可以帮助开发者获取类型信息。