易语言调用java(易语言调用jar包教程)

华为云服务器特价优惠火热进行中!

2核2G2兆仅需 38 元;4核4G3兆仅需 79 元。购买时间越长越优惠!更多配置及优惠价格请咨询客服。

合作流程:
1、点击链接注册/关联华为云账号:点击跳转
2、添加客服微信号:cloud7591,确定产品方案、价格方案、服务支持方案等;
3、客服协助购买,并拉微信技术服务群,享受一对一免费技术支持服务;
技术专家在金蝶、华为、腾讯原厂有多年工作经验,并已从事云计算服务8年,可对域名、备案、网站搭建、系统部署、AI人工智能、云资源规划等上云常见问题提供更专业靠谱的服务,对相应产品提供更优惠的报价和方案,欢迎咨询。

今天给各位分享易语言调用java的知识,其中也会对易语言调用jar包教程进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

微信号:cloud7591
如需了解更多,欢迎添加客服微信咨询。
复制微信号

本文目录一览:

求E语言通过java支持库调用jar包时参数传递教程

Java加载jar文件并调用jar文件当中有参数和返回值的方法

在工作当中经常遇到反编译后的jar文件,并要传入参数了解其中的某些方法的输出,想到Java里面的反射可以实现加载jar文件并调用其中的方法来达到自己的目的。就写了个Demo代码。

以下的类可以编译生成hello.jar文件。

1 package org.lele.fatpanda;

2    3 public class Util

4 {

5     public static String myName;

6     /*  7      * 无参数,无返回值的方法。

8      */   9     public static void getVersion()  

10     {  

11         System.out.println("java version: " + System.getProperty("java.version") );  

12     }  

13     /* 14      *有参数,无返回值的方法。

15      */  16     public static void setTmpName(String name)  

17     {  

18         myName = name;  

19         System.out.println("Set Tmp Name Succeed and the name is : " + myName);  

20     }  

21     /* 22      * 单个参数,有返回值的方法。

23      */  24     public static String getName(String prefix)  

25     {  

26         return prefix + "lele";  

27     }  

28     /* 29      * 多个参数,有返回值的方法。

30      */  31     public static String test(String i1, int i2)  

32     {  

33         return i1 + i2;      

34     }  握仿

35       36 }  

37 /* 38  * 一个生成jar文件的类文件,要使用public的访问权限,如果在方便进行反射调用,则要将方法声明为static。

39  */  

下面的就是实现动态加载并调用的主要代码。

1 package com.xiyoulele.wh;

2    3 import java.io.File;

4 import java.lang.reflect.Method;

5 import java.net.URL;

6 import java.net.URLClassLoader;

7    8 public class Main

9 {  

10     public static void main(String[] args)  

11     {  

12         URL[] urls = new URL[] {};  

13         MyClassLoader classLoader = new MyClassLoader(urls, null);  //自定义ClassLoader来加载jar文件  14           15         try   16  派山       {  

17             classLoader.addJar(new File("c:\\hello.jar").toURI().toURL());  //加载特定路径的jar文件  18             Class? clazz = classLoader.loadClass("org.lele.fatpanda.Util"); //动态加载jar文件当中的特定类的class文件    

19               20             //传入一个参数一个段羡纤返回值  21           22             Class?[] typeA = new Class[1];  //传入要调用的方法的参数类型  23             typeA[0] = String.class;  

24               25             Object[] objsA = new Object[1];  //传入要调用的方法的具体参数  26             objsA[0] = new String("xiyou");  

27               28             Method method =  clazz.getMethod("getName", typeA);  //获取要被调用的特定方法  getName(String xx)  29               30             String result = method.invoke(clazz, objsA).toString(); //调用方法,获取方法的返回值。  31               32             System.out.println(result);  //输出方法      

33               34             //传入2个参数一个人返回值  35               36             Class?[] typesB = new Class[2];  

37             typesB[0] = String.class;  

38             typesB[1] = Integer.TYPE;  

39               40             Object[] ObjsB = new Object[2];  

41             ObjsB[0] = new String("ZT");  

42             ObjsB[1] = new Integer(520);  

43               44             Method newMethod = clazz.getMethod("test", typesB);  

45             String res = newMethod.invoke(clazz.newInstance(), ObjsB).toString();  

46               47             System.out.println(res);  

48               49             //有传入的参数,没有返回值  50             Class?[] typesC = new Class[1];  

51             typesC[0] = String.class;  

52               53             Object[] objsC = new Object[1];  

54             objsC[0] = new String("xiyoulele");  

55               56             Method methodC = clazz.getMethod("setTmpName", typesC);  

57             methodC.invoke(clazz.newInstance(), objsC);  

58               59             //无参数,无返回值  60             Method methodD = clazz.getDeclaredMethod("getVersion");  

61             methodD.invoke(clazz.newInstance());                

62               63             classLoader.close();  //关闭类的加载器  64               65         } catch (Exception e)  

66         {            

67             e.printStackTrace();  

68         }  

69     }    

70     //继承URLClassLoader来实现对jar文件的加载  71     static class MyClassLoader extends URLClassLoader  

72     {  

73         public MyClassLoader(URL[] urls)  

74         {  

75             super(urls);  

76         }  

77         public MyClassLoader(URL[] urls, ClassLoader parent)  

78         {  

79             super(urls, parent);  

80         }  

81         public void addJar(URL url)  

82         {  

83             this.addURL(url);  

84         }  

85     }  

86 }  

87 /* 88  * 需求:加载jar文件,动态调用里面的方法,该方法带有参数和返回值。

89  */

程序运行的结果:

易语言Java虚拟机怎么用?是干什么用的?可以做什么?

是运行程序用的,java程序不能运行在windows等操作系统上

而是通过在操作系统上运行虚拟机,然后虚拟正昌神机运行程序,使程序能够执行

虚拟机就相当于一个模拟器,或者类似于架设在迅稿其他操作系统上举亏的一层平台

如何用易语言以一定参数调用java

Set db = CreateObject("陆知谈DBSoft.DBSoft_Msgbox"早碰)

a = db.MessageBoxSelfA("大兵提示"猛厅, "请选择你的年龄", array(1, 2, 3, 4, 5, 6)

Java如何调用易语言的Dll

以后会有支持库的,但是就目庆敏前而言,整个引擎才完成了一半誉弯枝,还没有办法使用,不过吴涛说火鸟完成后会改闹裤进引擎来支持手机游戏编写

易语言可以转换成Java吗,那么转换出的Java可以制作app吗?

不可能的易语言全是c++和java根本不是一回事而且就算能转换我看你的要求是变安卓软件吧那还涉及到安卓培正的api和电脑api不旅中祥同的问题呢拆搏

易语言运行命令怎么打开jar文件?

其实还是能运蔽姿行的,例 运行 (“java -jar C:\LMT_v12.13.30.01B7e\Release\copy_version\LMT\EOMS.jar”, 假, )。

这样写的话通过CMD命令来运行就能够打开了,有部分jar在纳正命令行中会显示一个错误信息,但是主程序还是宏茄绝能够顺利打开的。

关于易语言调用java和易语言调用jar包教程的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

发布于 2023-04-13 13:04:02
收藏
分享
海报
35
目录

    忘记密码?

    图形验证码

    复制成功
    微信号: cloud7591
    如需了解更多,欢迎添加客服微信咨询。
    我知道了