易截截图软件、单文件、免安装、纯绿色、仅160KB

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


相关文档:

java读文件 乱码

/**
 *
 */
package com.dongyun.peas2.system.web.action;
///**
// * @author Administrator
// *
// */
//public class ABcom {
//
// /**
//  *
//  */
// public ABcom() {
//  // TODO Auto-generated constructor stub
// }
//
// /**
//&nb ......

java系统属性

系统属性是指与用户程序相关的操作系统配置信息以及软件信息。通常与用户程序相关的属性关键字包括:
  ●file.separator:文件分隔符,Windows环境下为“",Unix环境下为“/”;
  ●user.home:用户主目录;
  ●java.home:Java实时运行环境的安装目录;
  ●java.ext.dirs:JDK的安装目 ......

java WebService Case

一、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、启动 ......

第一个Java界面程序

     做了一个很简单的界面程序,也是我第一个界面程序.主要功能就是输入两个数字,计算这两个数字的和,很简单的功能,我却花了很久,对java太不熟悉了,连得到textField1中用户输入的值怎么获得,都不知道,后来baidu才知道,
     用 textField1.getText()获得输入的值;,
   ......

java下Class.forName的作用是什么,为什么要使用它

Class.forName(xxx.xx.xx) 返回的是一个类
首先你要明白在java里面任何class都要装载在虚拟机上才能运行。这句话就是装载类用的(和new 不一样,要分清楚)。
至于什么时候用,你可以考虑一下这个问题,给你一个字符串变量,它代表一个类的包名和类名,你怎么实例化它?只有你提到的这个方法了,不过要再加一点。
A a = ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号