javassist资源百度云分享

链接:https://pan.baidu.com/s/1SH22MT6MUoEjIZEf5GQ0dg
提取码:v1v3

利用javassist动态创建一个类

package com.yzx.javassist;import javassist.CannotCompileException;
import javassist.ClassPool;
import javassist.CtClass;
import javassist.CtConstructor;
import javassist.CtField;
import javassist.CtMethod;/*** 使用javassist生成一个新的类* @author 2Π**/
public class Demo01 {public static void main(String[] args) throws Exception {ClassPool pool = ClassPool.getDefault();CtClass cc = pool.makeClass("People");    //指定类的名字//创建属性CtField f1 = CtField.make("private String name;", cc);CtField f2 = CtField.make("private int age;", cc);cc.addField(f1);cc.addField(f2);//创建方法CtMethod cm1 = CtMethod.make("public int getName(){ return age; }", cc);CtMethod cm2 = CtMethod.make("public void setName(int age){ this.age=age; }", cc);cc.addMethod(cm1);cc.addMethod(cm2);//创建构造方法CtConstructor ct1 = new CtConstructor(new CtClass[] {pool.get("java.lang.String"),CtClass.intType}, cc);ct1.setBody("{this.name = name; this.age = age;}");cc.writeFile("d:");      //储存到d盘根目录下System.out.println("创建类成功!");}}

创建成功在d盘的根目录下就可以看到新增了一个People.class文件,用记事本打开会乱码。如下图

这里需要用到反编译的软件才能正常查看代码,所以就需要下载一个反编译的软件。
百度云链接:https://pan.baidu.com/s/1Ms0MD4morBD7v2Er2I-0tQ
提取码:qgjm
下载好后解压,然后打开如图中的XJad.exe文件

然后打开对应的class文件即可正常查看你写入的代码

javassist组件分享利用javassist动态创建一个类相关推荐

  1. render注册一个链接组件_详解vue 动态加载并注册组件且通过 render动态创建该组件...

    基于 iview Tabs 组件实现 功能:为每个 tab 动态创建不同的.特定的组件内容,而不需要大量的 import 组件并进行 component 注册 Index.vue import loa ...

  2. jquery利用appendTo动态创建元素

    动态创建元素可以说是DOM中常做的事情,下面我来介绍在jquery中利用appendTo来动态创建元素,有需要的朋友可参考参考. 当HTML字符串是没有属性的元素是, 内部使用document.cre ...

  3. android module中获取 app_Android组件化架构 - 4. 动态创建

    Android 组件化中使用动态创建的作用是解耦: 1. 反射机制 反射有两个作用:1.反编译:.class->.java;2.通过反射机制访问java对象中的属性,方法,构造器等: 实现反射, ...

  4. render vue 添加类_详解vue 动态加载并注册组件且通过 render动态创建该组件

    基于 iview Tabs 组件实现 功能:为每个 tab 动态创建不同的.特定的组件内容,而不需要大量的 import 组件并进行 component 注册 Index.vue import loa ...

  5. python如何创建一个文件夹_利用Python怎么创建一个文件夹

    利用Python怎么创建一个文件夹 发布时间:2020-12-08 14:48:04 来源:亿速云 阅读:91 作者:Leah 这期内容当中小编将会给大家带来有关利用Python怎么创建一个文件夹,文 ...

  6. 利用vmware虚拟机创建一个软盘映像文件

    利用vmware虚拟机创建一个软盘映像文件 很多同学在做软盘linux系统实验时,大都为第一步操作发愁,这什么是软盘从来没有见过.没有软盘,如何创建一个软盘映像文件呢?这是个问题. 但是我们可以利用v ...

  7. 遗传编程(Genetic Programming)学习笔记(三):利用DEAP框架创建一个GP表达式

    DEAP框架   Python 的 DEAP库是一个进化算法框架,可以帮助我们快速实现各种进化算法,例如遗传算法(GA).粒子群算法(PSO).遗传编程(GP).分布估计算法(EDA).多目标优化算法 ...

  8. python动态创建类_Python中通过参数动态创建扩展类(class)

    class Bar: def super_cool_function(self): print("Cool") 1.利用Python闭包动态扩展类 通过在内部创建并从函数返回它来动 ...

  9. php创建一个类,JavaScript_创建一个类Person的简单实例,创建一个类Person,包含以下属 - phpStudy...

    创建一个类Person的简单实例 创建一个类Person,包含以下属性:姓名(name).年龄(age).朋友(friends数组).问候(sayhi方法,输出问候语,例如:"你好!&quo ...

  10. sqlalchemy根据表名动态创建model类

    sqlalchemy根据表名动态创建model类 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/J_Object/article/details/8 ...

最新文章

  1. 2022-2028年中国动力锂电池用橡胶密封件行业研究及前瞻分析报告
  2. 线段树-离散化处理点
  3. [转]Java中Runtime.exec的一些事
  4. 朴素贝叶斯 python 实现
  5. unity2019,打包APK时的gradle错误问题
  6. SAP Spartacus本地启动时的白屏问题分析
  7. 关于iOS 3D touch 指纹验证的随笔
  8. supervisor监控php进程程序,详解Supervisor进程守护监控(转)
  9. c 语言 16进制写法,C语言16进制中16怎么表示?
  10. 倍投计算器工具_天天基金网上实用的小工具
  11. Csharp: create Transparent Images in winform
  12. GBase数据库产品介绍
  13. 自媒体文章如何有效提高原创度?
  14. 飞翔pdf生成html,pdf转换成html转换器
  15. PHP fuser,打印机提示 50.1 fuser error 这样的错误,无法正常打印?
  16. 高德地图-根据IP定位显示当前所在城市
  17. 知乎2019新知青年大会:用问题改变世界的方向
  18. js简单交互动画,运动吧
  19. 基于mobileNet实现狗的品种分类(迁移学习)
  20. AppScan 是一款web安全扫描工具

热门文章

  1. C#:WebBrowser中伪造referer,为何对流量统计器无效?
  2. boost::property_tree读取解析ini文件--推荐
  3. IS-IS hello 包结构及邻接关系的建立
  4. Oracle11g64位安装
  5. 微软在华推广Win7拒绝“黑屏”
  6. RUP大讲堂(第五讲)-基于用例的需求工程技术
  7. 什么样的文章更容易被编辑推荐?
  8. 7.SOA架构:服务和微服务分析及设计--- REST服务及微服务的服务API于契约设计
  9. 13.看板方法---使用两层系统扩展看板
  10. 63. Event button 事件属性