1.概述
上一篇文章:【字节码】基于javassist的第一个案例helloworld
转载来源于:小傅哥的字节码编程-(公众号:bugstack虫洞栈)
仅供学习。
在上一篇 Helloworld 中,我们初步尝试使用了 Javassist 字节编程的方式,来创建我们的方法体并通过反射调用运行了结果。大致了解到创建在使用字节码编程的时候基本离不开三个核心类;
ClassPool 、 CtClass 、 CtMethod
,它们分别管理着对象容器、类和方法。但是我们还少用一样就是字段; CtFields ,在这一章节中我们不止会使用字段,还会创建多个不同入参类型和返回值的学习。
在学习之前先重点列一下相关的知识点,如下;
CtClass.doubleType 、 intType 、 floatType
等 8 个基本类型和一个voidType
,也就是空的返回类型。- 传递和返回的是对象类型时,那么需要时用;
pool.get(Double.class.getName()
,进行设
置。 - 当需要设置多个入参时,需要在数组中以此设置入参类型;
new CtClass[] {CtClass.d