javassist组件分享利用javassist动态创建一个类
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动态创建一个类相关推荐
- render注册一个链接组件_详解vue 动态加载并注册组件且通过 render动态创建该组件...
基于 iview Tabs 组件实现 功能:为每个 tab 动态创建不同的.特定的组件内容,而不需要大量的 import 组件并进行 component 注册 Index.vue import loa ...
- jquery利用appendTo动态创建元素
动态创建元素可以说是DOM中常做的事情,下面我来介绍在jquery中利用appendTo来动态创建元素,有需要的朋友可参考参考. 当HTML字符串是没有属性的元素是, 内部使用document.cre ...
- android module中获取 app_Android组件化架构 - 4. 动态创建
Android 组件化中使用动态创建的作用是解耦: 1. 反射机制 反射有两个作用:1.反编译:.class->.java;2.通过反射机制访问java对象中的属性,方法,构造器等: 实现反射, ...
- render vue 添加类_详解vue 动态加载并注册组件且通过 render动态创建该组件
基于 iview Tabs 组件实现 功能:为每个 tab 动态创建不同的.特定的组件内容,而不需要大量的 import 组件并进行 component 注册 Index.vue import loa ...
- python如何创建一个文件夹_利用Python怎么创建一个文件夹
利用Python怎么创建一个文件夹 发布时间:2020-12-08 14:48:04 来源:亿速云 阅读:91 作者:Leah 这期内容当中小编将会给大家带来有关利用Python怎么创建一个文件夹,文 ...
- 利用vmware虚拟机创建一个软盘映像文件
利用vmware虚拟机创建一个软盘映像文件 很多同学在做软盘linux系统实验时,大都为第一步操作发愁,这什么是软盘从来没有见过.没有软盘,如何创建一个软盘映像文件呢?这是个问题. 但是我们可以利用v ...
- 遗传编程(Genetic Programming)学习笔记(三):利用DEAP框架创建一个GP表达式
DEAP框架 Python 的 DEAP库是一个进化算法框架,可以帮助我们快速实现各种进化算法,例如遗传算法(GA).粒子群算法(PSO).遗传编程(GP).分布估计算法(EDA).多目标优化算法 ...
- python动态创建类_Python中通过参数动态创建扩展类(class)
class Bar: def super_cool_function(self): print("Cool") 1.利用Python闭包动态扩展类 通过在内部创建并从函数返回它来动 ...
- php创建一个类,JavaScript_创建一个类Person的简单实例,创建一个类Person,包含以下属 - phpStudy...
创建一个类Person的简单实例 创建一个类Person,包含以下属性:姓名(name).年龄(age).朋友(friends数组).问候(sayhi方法,输出问候语,例如:"你好!&quo ...
- sqlalchemy根据表名动态创建model类
sqlalchemy根据表名动态创建model类 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/J_Object/article/details/8 ...
最新文章
- 2022-2028年中国动力锂电池用橡胶密封件行业研究及前瞻分析报告
- 线段树-离散化处理点
- [转]Java中Runtime.exec的一些事
- 朴素贝叶斯 python 实现
- unity2019,打包APK时的gradle错误问题
- SAP Spartacus本地启动时的白屏问题分析
- 关于iOS 3D touch 指纹验证的随笔
- supervisor监控php进程程序,详解Supervisor进程守护监控(转)
- c 语言 16进制写法,C语言16进制中16怎么表示?
- 倍投计算器工具_天天基金网上实用的小工具
- Csharp: create Transparent Images in winform
- GBase数据库产品介绍
- 自媒体文章如何有效提高原创度?
- 飞翔pdf生成html,pdf转换成html转换器
- PHP fuser,打印机提示 50.1 fuser error 这样的错误,无法正常打印?
- 高德地图-根据IP定位显示当前所在城市
- 知乎2019新知青年大会:用问题改变世界的方向
- js简单交互动画,运动吧
- 基于mobileNet实现狗的品种分类(迁移学习)
- AppScan 是一款web安全扫描工具
热门文章
- C#:WebBrowser中伪造referer,为何对流量统计器无效?
- boost::property_tree读取解析ini文件--推荐
- IS-IS hello 包结构及邻接关系的建立
- Oracle11g64位安装
- 微软在华推广Win7拒绝“黑屏”
- RUP大讲堂(第五讲)-基于用例的需求工程技术
- 什么样的文章更容易被编辑推荐?
- 7.SOA架构:服务和微服务分析及设计--- REST服务及微服务的服务API于契约设计
- 13.看板方法---使用两层系统扩展看板
- 63. Event button 事件属性