`
chakey
  • 浏览: 363909 次
  • 性别: Icon_minigender_1
  • 来自: 水星
社区版块
存档分类
最新评论

java中类的加载Demo

    博客分类:
  • Java
阅读更多

 

 

 

package com.cash.utils;

import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;

import com.cash.server.ICommonService;


public class ClassUtil {
    public static  String exec(String classString, Object[] objects) {
        Class<?> convertorClass;
        String result = null;
        if (null == classString || "".equalsIgnoreCase(classString)) {
            return null;
        }
        try {
            convertorClass = Class.forName(classString);
            ICommonService convertor = (ICommonService) convertorClass
                    .newInstance();
            Method istance = convertorClass.getMethod("run",
                    java.lang.String.class,java.lang.String.class,java.lang.String.class);
            result = (String) istance.invoke(convertor, objects);
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SecurityException e) {
            e.printStackTrace();
        } catch (NoSuchMethodException e) {
            e.printStackTrace();
        } catch (IllegalArgumentException e) {
            e.printStackTrace();
        } catch (IllegalAccessException e) {
            e.printStackTrace();
        } catch (InvocationTargetException e) {
            e.printStackTrace();
        } catch (InstantiationException e) {
            e.printStackTrace();
        }
        return result;
    }
}
package com.cash.server;

public interface ICommonService {
    
    public String run(String para1, String para2, String para3);
    
}

package com.cash.server;

public class AService implements ICommonService {

    @Override
    public String run(String para1, String para2, String para3) {
        
        return para1 + ":" + para2 + ":" + para3;
    }

}
 
package com.cash.server;

import com.cash.utils.ClassUtil;

public class Main {
    
    public static void main(String[] args) {
        Object[] objects = {"I Am "," The " , " Best"};
        String result = ClassUtil.exec("com.cash.server.AService", objects);
        System.out.println(result);
    }

}
 
 

 

分享到:
评论
3 楼 whao189 2011-06-10  
楼主在学习 反射?还是?
2 楼 chakey 2011-06-10  
freish 写道
不怕新手贴啊

木有关系
1 楼 freish 2011-06-10  
不怕新手贴啊

相关推荐

    自定义Java类加载器demo

    自定义Java类加载器demo,自定义了一个classLoader,重写了loadClass 和findClass,注意 loadClass打破了双亲委派机制,所有的类都要在自定义的class文件中找到,而findClass遵循了双亲委派机制

    java连接Mysql数据库Demo

    现在,我们有一个简单的Java连接MySQL的Demo,但实际开发中,你可能需要处理异常、优化SQL语句、使用存储过程、进行事务控制等。在深入学习JDBC的同时,也要关注数据库设计和SQL优化,这将对你的开发工作大有裨益。 ...

    Java语言-动态编译代码并热加载类

    在Java编程中,动态编译代码并热加载类是一项重要的技术,它允许程序在运行时修改或添加新的类,而无需重启应用。这种能力对于快速迭代开发、调试和性能优化非常有用。本主题将深入探讨Java中的动态编译与热加载机制...

    java 微信小程序demo

    在Java微信小程序Demo中,可能会有数据库连接和CRUD操作的示例,演示如何通过Java操作数据库,为小程序提供数据支持。 6. **微信小程序生命周期** - 微信小程序有自己的一套生命周期函数,比如onLoad、onShow、...

    可以直接运行java jar Demo

    描述中提到的“Demo中包括工程的源代码和编译后打包的运行程序”,这表明这个Demo是一个完整的开发示例,开发者可以查看源代码来学习如何实现特定的功能或概念。源代码是用Java编程语言编写的,它提供了关于程序逻辑...

    java ceb转pdf demo

    在这个Java demo中,我们有以下几个关键组成部分: 1. **CEB2PDF.java**:这是主要的Java源代码文件,包含了转换逻辑。它应该包含调用外部库或API的代码,将CEB文件解析并转化为PDF。可能的方法包括通过JNI(Java ...

    测试普通Java程序ClassLoader等级关系的Demo程序

    总之,这个名为“测试普通Java程序ClassLoader等级关系的Demo程序”旨在帮助开发者掌握Java中类加载器的工作原理和它们之间的层次关系,这对于理解Java应用程序的运行机制和进行问题排查具有非常实际的意义。...

    Java调用Redis 简单Demo

    本篇将通过一个简单的Java调用Redis的Demo来探讨如何在Java应用中操作Redis。 首先,我们需要在项目中引入Jedis库,这是一个Java客户端,用于连接和操作Redis。你可以通过Maven或Gradle在你的构建文件中添加依赖。...

    java的Servlet测试demo

    在这个"java的Servlet测试demo"中,我们将深入理解Servlet的工作原理以及如何在集成开发环境(IDE)IntelliJ IDEA中进行开发和测试。 首先,Servlet生命周期包括初始化、服务和销毁三个主要阶段。初始化阶段,...

    使用的java系统demo

    在这个“使用的Java系统Demo”中,我们主要探讨的是Java在实际系统开发中的应用和示例。Java是一种广泛应用于企业级应用开发的强大编程语言,以其“一次编写,到处运行”的跨平台特性而闻名。这个Demo可能是为了展示...

    Java源代码小Demo

    在这个"JavaPractice"压缩包中,你可以期待找到以下几类示例: 1. **基础语法**:包括变量声明、数据类型(如整型、浮点型、字符型、布尔型)、流程控制(if语句、for循环、while循环、switch语句)、数组、字符串...

    java spi 可运行 demo

    3. **服务加载器**:Java SPI提供了`java.util.ServiceLoader`类,用于加载配置文件中的服务提供者,并实例化这些类。 ### 二、SPI工作流程 1. **查找配置文件**:`ServiceLoader`会去`META-INF/services`目录下...

    weixin-java-pay-demo-master_微信支付java_DEMO_微信支付_

    DEMO中会包含如何加载和使用这些证书,以及如何处理加密和解密的过程。 4. **回调通知处理**:微信支付在交易完成后会向商户服务器发送异步通知。DEMO中会有处理这些通知的代码,展示如何验证通知的真伪,并根据...

    fragment懒加载demo

    为了实现懒加载,我们需要扩展`PagerAdapter`,并在`instantiateItem()`方法中检查是否需要加载Fragment的数据。只有当Fragment即将可见时,才执行数据加载。 - **Fragment的状态管理**:在Fragment的`onResume()`...

    javacv的demo

    在这个“javacv的demo”中,我们可能找到一个展示JavaCV功能的示例应用。这个示例可能包括了如何使用JavaCV进行视频捕获、处理、推流等操作。在实际应用中,这些功能可以用于创建监控系统、视频分析软件,甚至复杂的...

    最简单可用listview上拉刷新下拉加载demo

    "最简单可用listview上拉刷新下拉加载demo"就是这样一个示例项目,它为初学者提供了实现这两个功能的基础模板。 1. **上拉刷新(Pull-to-Refresh)** 上拉刷新功能允许用户通过在ListView底部向上滑动来获取更新的...

    java接口读加密狗 Demo

    java接口读加密狗Demo,大家可以尝试哈

    java2D忍者游戏demo源码_java_游戏_

    在这个“java2D忍者游戏demo源码”中,开发者使用了Java 2D API来构建一个简单的忍者游戏。这个游戏可能是为了教学目的设计的,适合已经掌握了基础Java编程的人员学习和研究。 在Java 2D中,你可以创建复杂的图形、...

    Java读取word小Demo

    在Java中,读取Word文档主要通过`XWPFDocument`(用于DOCX格式)和`HWPFDocument`(用于DOC格式)类来实现。这两个类分别代表了Word 2007以上和2003及以下版本的文档对象模型。 3. **DOC和DOCX的区别**: - DOC是...

    java动态代理demo

    通过这个简单的Java动态代理demo,你可以了解到如何在实际项目中利用动态代理进行功能扩展,同时避免了为每个接口编写单独的代理类。这种技术可以极大地提高代码的可复用性和可维护性,是Java开发中一个强大的工具。

Global site tag (gtag.js) - Google Analytics