Java 动态创建类

/*
* 动态创建代理类
*/
public static <T> T getProxy(Class<?> interfaceType,final Object target) throws Exception{

if(!interfaceType.isInterface()){
     throw new Exception("接口类型不正确!");
  }

  @SuppressWarnings("unchecked")
  T targerInstance=(T)Proxy.newProxyInstance(interfaceType.getClassLoader(), new Class[]{interfaceType}, new InvocationHandler() {

    @Override
    public Object invoke(Object proxy, Method method, Object[] args)
    throws Throwable {
    System.out.println("开始");
    Object value=method.invoke(target, args);
    System.out.println("结束");
    return value;
    }
  });

return targerInstance;
}

调用实例:

IStudent stu=getProxy(Class.forName("proxy.yl.IStudent"),Class.forName("proxy.yl.Student").newInstance());
stu.setName("xxxxx");
System.out.println(stu.getName());

时间: 2024-10-14 06:25:44

Java 动态创建类的相关文章

Python中动态创建类实例

Python中动态创建类实例 简介 在Java中我们可以通过反射来根据类名创建类实例,那么在Python我们怎么实现类似功能呢? 其实在Python有一个builtin函数import,我们可以使用这个函数来在运行时动态加载一些模块.如下: def createInstance(module_name, class_name, *args, **kwargs): module_meta = __import__(module_name, globals(), locals(), [class_n

通过字符串动态创建类对象

功能的需求是  不需要使用IOC 框架 来对创建指定对象. .NET 中  要想动态的 创建对象   做耦合  好像只能做到 将类生成DLL 后  然后 加载DLL 接着创建对象. JAVA 当个类文件 就可以运行. 希望做到  当读一个   .class  或者 .TXT 就可以  动态创建类对象  那多好啊!!! 还可以将 类文件 以字符串的形式写到 数据库中  通过数据库来 创建类对象. 然后就各种百度 谷歌 贴吧等  找有没相关的 解决方案    还好  找到了  . 不藏着 分享出来

C++动态创建类的实例

写在前面:首先声明,C++实际上是不可以动态创建类的实例的. 下面简单做一个解释,所谓动态创建类的实例是指在程序运行过程中创建并使用一个“未知”的类.而“未知”是指在程序编译时并不知道有哪些类是需要动态创建的.对于C++这门语言来说,编译时不知道的类是不可以在运行时使用的.所以我说C++是不可以的. 不过C++可以做到另一件事情,基本可以满足大多数类似的需求. 我描述为通过类名称创建类的实例. 进入正题. 首先描述一下需求: 编写一个程序实现在程序运行过程中通过类名称(即字符串变量)创建该类的实

【JAVA 动态创建风水罗盘 超精华Swing项目方案-项目目录 - 文章03】

JAVA 动态创建风水罗盘项目目录 项目缺陷和不足: Swing API中绘制图像可以使用Graphics绘制界面和特殊图像,但是Graphics绘制图像出现锯齿,不规则不细腻现象,所以使用Graphics2D绘制. Graphics2D类继承Graphics类所以可以直接强制转换. 1. Graphics 类提供的绘制方法大部分传的参数为int类型,绘制产生不精确.如果精度非常高建议不使用此类绘制,否则你知道效果,绘制出来的图形惨目忍睹,等分的数据产生明显的不等分. 2. Graphics2D

【JAVA 动态创建风水罗盘 超精华Swing项目方案-项目源码 - 文章04】

JAVA 动态创建风水罗盘 - 项目源码篇 **其实次项目设计关键在于此POJO实体类,它是整个项目的核心所在,虽然看着简单,但是整个数据如何处理,如何控制,如何绘制就在此类.贯穿了整个项目从swing前台到后台,创建具体绘制工厂与策略. 毫不客气的 PanelDiskBean 是次项目的中心思想. 有时候我们项目不知道如何定义,如何具体处理就在于整个项目串联中不够清楚,此类也是经过很多次调整和重新定义才能完美实现的. 好的程序和项目并不一定开始就很完美,只能最终实现和完成才能定型. 设计的再好

python动态创建类的声明

动态创建类的声明 使用内置函数type,原型:class type(name, bases, dict)name是类的名字,相当于__class__bases是类的基类,元组,可以有多个基类,但是基类必须直接或者间接继承自object类,否则会报错dict是类的变量,字典类型,相当于静态变量,与在__init__函数中声明的不同 代码示意片段: class A(object): def __init__(self): print "A init ..." class B(A): def

设计模式之工厂模式:模拟DECLARE_DYNAMIC和IMPLEMENT_DYNAMIC动态创建类对象

该形式的工厂模式是我项目中用到的方法,属于很成熟的模版,读者可以直接拿来在自己项目中使用.个人感觉这种方法真正做到了"开放封闭"的原则,最大好处是用户产品类的设计完全不依赖于该模式的实现,比如提供必须的相关函数等.如果不理解工厂模式的话,请参考网上其它文章,本实现在理解上有一点小小的难度.好东西,大家慢慢享用,话不多说,先放代码! 首先是产品基类,它相当于一个接口,产品需要有什么动作就写在这里吧! #ifndef _CPRODUCTBASE_H_ #define _CPRODUCTBA

type动态创建类

在一些特定场合,需要动态创建类,比如创建表单,就会用到type动态创建类,举个例子: 1 class Person(object): 2 3 def __init__(self,name,age): 4 self.name = name 5 self.age = age 6 7 8 p = Person("aiden",22) 9 print(type(p)) 10 print(type(Person)) 11 12 13 14 def __init__(self,name,age):

【JAVA 动态创建风水罗盘 超精华Swing项目方案-类关系图 - 文章02】

动态创建风水罗盘系统 UI Swing UI关系类图 动态创建风水罗盘系统 罗经层绘制工厂 动态创建风水罗盘系统 罗经具体实现绘制工厂实现类关系 动态创建风水罗盘系统 定制盘面绘制数据模型 动态创建风水罗盘系统 装饰器模式绘制整体盘面关系 未完继续-.