benym的知识笔记 benym的知识笔记
🦮首页
  • Java

    • Java-基础
    • Java-集合
    • Java-多线程与并发
    • Java-JVM
    • Java-IO
  • Python

    • Python-基础
    • Python-机器学习
  • Kafka
  • Redis
  • MySQL
  • 分布式事务
  • Spring

    • SpringIOC
    • SpringAOP
🦌设计模式
  • 剑指Offer
  • LeetCode
  • 排序算法
🐧实践
  • Rpamis

    • Utils
    • Exception
    • Security
  • 归档
  • 标签
  • 目录
🦉里程碑
🐷关于
GitHub (opens new window)

benym

惟其艰难,才更显勇毅🍂惟其笃行,才弥足珍贵
🦮首页
  • Java

    • Java-基础
    • Java-集合
    • Java-多线程与并发
    • Java-JVM
    • Java-IO
  • Python

    • Python-基础
    • Python-机器学习
  • Kafka
  • Redis
  • MySQL
  • 分布式事务
  • Spring

    • SpringIOC
    • SpringAOP
🦌设计模式
  • 剑指Offer
  • LeetCode
  • 排序算法
🐧实践
  • Rpamis

    • Utils
    • Exception
    • Security
  • 归档
  • 标签
  • 目录
🦉里程碑
🐷关于
GitHub (opens new window)
  • Java-基础

    • Java反射获取类对象的三种方式
      • Java反射获取类对象的三种方式
    • 动态代理
  • Java-集合

    • ArrayList的扩容机制
  • Java-多线程与并发

    • Java多线程实现的几种方式
    • 多线程交替打印数字—多种实现
    • CountDownLatch使用方法
    • CyclicBarrier使用方法
    • Semaphore使用方法
    • CompletableFuture常用用法及踩坑
  • Java-JVM

    • 自定义类加载器
    • JMH-基准测试框架
  • Java-IO

    • 概览
  • Java
  • Java-基础
benym
2020-06-29
目录

Java反射获取类对象的三种方式

# Java反射获取类对象的三种方式

简单了解Java获取类的3种方式

1、Class.forName("全类名")

将字节吗文件加载进内存,返回Class对象,多用于配指文件,将类名定义在配置文件中,便于利用java的反射机制生成类对象,加载类。

//加载一个用户实体类UserBean
Class c1 = Class.forName(``"com.test.UserBean"``);
1
2
1
2

2、类名.class

通过类名的属性class获取,多用于传递参数。

Class c2 = UserBean.class;
1
1

3、对象.getClass()

多用于对象获取字节码的方式。

UserBean user = new UserBean();
Class c3 = user.getClass();
1
2
1
2

对于三种方式获取到的类对象都指向堆内存中同一个地址,所以三种方式获取的类对象都是同一个,根据实际应用环境选择使用。

编辑 (opens new window)
#反射#Java
上次更新: 2023/05/13, 18:05:21
动态代理

动态代理→

最近更新
01
SpringCache基本配置类
05-16
02
DSTransactional与Transactional事务混用死锁场景分析
03-04
03
Rpamis-security-原理解析
12-13
更多文章>
Theme by Vdoing | Copyright © 2018-2024 benym | MIT License
 |   |   | 
渝ICP备18012574号 | 渝公网安备50010902502537号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式