如何在java类中扩展jython类
发布时间:2020-05-25 13:09:11 所属栏目:Java 来源:互联网
导读:我想在 java类中扩展一个jython类 public class JavaClass extends JythonClass 如何导入Jython类?是否必须编译?文档链接已经很有用. 例: class JythonClass(threading.Thread):def do(self): print(hallo) – public class JavaClass extends
|
我想在 java类中扩展一个jython类 public class JavaClass extends JythonClass 如何导入Jython类?是否必须编译?文档链接已经很有用. 例: class JythonClass(threading.Thread):
def do(self):
print("hallo")
– public class JavaClass extends JythonClass
{
public void hello()
{ System.out.print("hallo")}
}
解决方法您可以使用Java扩展Jython类,以便通过创建扩展Java“子类”和Jython“超类”的Jython类在Jython中使用该结果.假设你有这个Jython类:class JythonClass(object):
def get_message(self):
return 'hello'
def print_message(self):
print self.get_message()
您可以部分创建Java类,而无需扩展任何内容: public class JavaClass {
private String message;
public String get_message() {
return message;
}
protected JavaClass(String message) {
this.message = message;
}
}
然后在Jython中引起“扩展”关系: from javapackage import JavaClass as _JavaClass
from jythonpackage import JythonClass
class JavaClass(_JavaClass,JythonClass):
pass
现在这将工作: obj = JavaClass('goodbye')
obj.print_message()
如果您希望在Java中扩展Jython类,并像普通的Java类一样使用它,最简单的方法是使用组合而不是继承: >为Jython类上的方法创建Java接口>让你的Jython类扩展Java接口(通过直接修改你的Jython类代码,或者像我上面解释的那样)>创建Java子类作为实现接口,将Jython“superclass”的实例作为私有字段>您希望覆盖的Java子类中的任何方法,只需在私有Jython实例上调用该方法即可 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 在Java中更改文本的颜色
- java – SWT:如何进行高质量图像调整大小
- 如果我需要序列化,我应该使用具体的List(例如ArrayList)还是
- JAVA实现遍历文件夹下的所有文件(递归调用和非递归调用)
- Java 中常用缓存Cache机制的实现
- java – Redis是否只允许字符串表示而不允许数字值
- java – 有什么问题:LinkedList stringList = new LinkedL
- java – CopyOnWriteArrayList throwing CurrentModificati
- java – 使用Property文件
- java-Spring Hibernate没有获取参数的值
