jpython调用java类的模板
使用JPype模块让Python调用JAVA的类
Python idea! 2009-03-24 19:44 阅读267 评论0
字号: 大大 中中 小小
看看例子就知道啦,真是为Python(不是Jython,而是CPython)提供了强大力量!
首先在java下建立一个再也简单不过的包:
package org.wg3i.test;
class Test {
private String msg;
public Test() {
}
public void speak(String msg) {
System.out.println(msg);
}
public void setString(String s) {
msg = s;
}
public String getString() {
return msg;
}
}
在Python下使用JPype模块来调用我们刚刚生成的java包:
import jpype
import os.path
jarpath = os.path.join(os.path.abspath('.'), 'build/jar')
jpype.startJVM(jpype.getDefaultJVMPath(), "-Djava.ext.dirs=%s" % jarpath)
Test = jpype.JClass('org.wg3i.test.Test') # 取得包org.wg3i.test中的类Test
t = Test() # 创建Test实例
t.speak("This is a test message") # 尝试调用类的一个方法
t.setString("Hello, World") #给定String
s = t.getString() # 获取String
print s
jpype.shutdownJVM()
下面来介绍下如何调用包而不是具体的一个类:
import jpype
import os.path
classpath = os.path.join(os.path.abspath('.'), 'build/classes')
jpype.startJVM(jpype.getDefaultJVMPath(), "-Djava.class.path=%s" % classpath)
testPkg = jpype.JPackage('org').wg3i.test # 取得包
Test = testPkg.Test # 取得类
t = Test() # 创建Test实例
t.speak("This is a test message") # 尝试调用类的一个方法
t.setString("Hello, World") &nbs
相关文档:
来源数字出版在线http://www.epuber.com/?p=2732
就算你没听说过Skype,也肯定会对互联网的低资费通话感兴趣,近日,Skype为谷歌的Android平台以及大量基于Java的手机平台和移动互联网设备(MID)平台发布新的测试版VIP电话软件。
一直以来,国内电信运营商视Skype为洪水猛兽,因为这种基于互联网的通信方式让运营商无利可图,然 ......
一、Axis安装 1、环境 J2SE SDK 1.3 or 1.4: 我使用 1.4.2 Servlet Container: 我使用的Tomcat 5.0
2、到 http://ws.apache.org/Axis/网站下载Axis安装包
3、解压缩安装包,将Axis_UNZIP_PATH\Axis-version\webapps下的Axis包拷贝到TOMCAT_HOME\webapps\下,以下约定Axis_HOME为该TOMCAT_HOME\webapps\Axis目录
4、启动 ......
/**
* 直接插入排序,首先比较a[n]与a[n-1],在比较a[n]与a[n-2]
* */
public void sort0(double[] a){
for(int i = 0; i < a.length -1; i ++){
......
本人在接触过程中有两个帖子写的不错,在此整理一下:
1.序列化
:将对象转化成流的过程称为序列化
反序列化
:将流转化成对象的过程称之为反序列化
2.对象序列化(Serializable)是指将对象转换为字节序列的过程,而反序列化则是根据字节序列恢复对象的过程。
上面这两个解释都通俗易懂。
序列化经 ......