class对象与实例对象

  • 类相当于实例对象的模板,而实例对象相当于用模板对象制作的一个个产品。
  • 而class对象可以描述类的基础信息:属性、方法、接口、注解,并能生成类的实例对象(class对象也可叫做元对象,即描述类信息的对象)。
  • Class类的存在是实现反射的关键。

举例说明:

package classdemo;

public class Person {
    private String name;
    private String age;
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getAge() {
        return age;
    }
    public void setAge(String age) {
        this.age = age;
    }   
}

测试类:

package classdemo;

public class ClassDemo {

    public static void main(String[] args) {
        Class clazz = Person.class.getClass();
    }
}

通过clazz这个元对象,我们可以获取Person类的各种描述信息,如下:

//获取属性信息:
getField(String);
getFields();
getDeclaredFields();
getDeclaredField(String name);

//获取方法信息:
getMethods();
getMethod(String name, Class<?>... parameterTypes);
getDeclaredMethods();
getDeclaredMethod(String name, Class<?>... parameterTypes);

//获取实现的接口信息:
 getInterfaces();

//生成实例对象:
newInstance(); //可代替new关键字来生成实例对象
原文地址:https://www.cnblogs.com/silenceshining/p/12839797.html