如何使用反射获取类对象

简介: 如何使用反射获取类对象


image.png

1.获取Class对象

City是一个普通的pojo。以下暂时如何使用反射获取类对象。

public class TestClass {
  public static void main(String[] args) {
    City city = new City();
        Class c1 = City.class;
        Class c2 = city.getClass();
        Class c3 = null;
        try {
      c3 = Class.forName("com.example.demo.entity.City");
    } catch (ClassNotFoundException e) {
      e.printStackTrace();
    }
        System.out.println(c1);
        System.out.println(c2);
        System.out.println(c3);
  }

结果:

class com.example.demo.entity.City

class com.example.demo.entity.City

class com.example.demo.entity.City

2.Class.forName()、Class.forName().newInstance() 、New 三者区别

new:实例化对象,生成一个object类型,并在堆中开辟一块内存,并将object放入。

Class.forName():获得一个已加载过的class对象。(new可以没有加载也可以已经加载了)

Class.forName().newInstance() :等同于new,但是new可以根据参数调用其他的构造函数,但是newInstance()只能调用无参的构造方法。同时也是反射的缺点,效率都比较低


相关文章
|
设计模式 Java
Java反射(Class、反射实例化、反射与单例、获取类结构)附带相关面试题
1.了解反射,2.Class类的三种实例化方法,3.反射机制与对象实例化,4.反射与单例设计模式,5.通过反射获取类结构的信息
301 0
|
6月前
|
Java
【反射】Java反射机制 -- 常用构造器与方法
【反射】Java反射机制 -- 常用构造器与方法
62 0
|
5月前
|
Java
java反射-获取类的属性、构造方法、方法
java反射-获取类的属性、构造方法、方法
|
6月前
调用反射类的指定方法
调用反射类的指定方法
|
6月前
调用反射类的方法
调用反射类的方法
|
Java API
Java反射(通过反射获取构造函数、方法、属性)
1.通过反射获取构造函数,2.通过反射获取方法,3.通过反射调用成员属性
117 0
|
IDE 安全 Java
Java 反射机制详解:私有方法调用头大?如何通过反射调用类中的私有方法?
Java 反射机制详解:私有方法调用头大?如何通过反射调用类中的私有方法?
272 0
Java 反射机制详解:私有方法调用头大?如何通过反射调用类中的私有方法?
Java反射->什么是反射?->获取方式
Java反射->什么是反射?->获取方式
Java反射->什么是反射?->获取方式