java - 使用 Jython 调用 Java 子类的方法

标签 java python jython

我有这个 Java 类,

public class sample {
        public Integer foo1(Integer x){
            return x+5;
        }
    }
class SubClass extends sample{

    public Integer foo2(Integer x){
        return x+100;
    }
}

通过 Jython,我想调用 SubClass 类的 foo2。我最终得到了以下 Python 代码,

import SubClass, sample
java_file = SubClass()
print java_file.foo2(3)

但是运行 Python 代码会返回此错误,

AttributeError: 'SubClass' object has no attribute 'foo2'

我还想打印一个类的父类(super class)及其签名,包括 public、abstract 等属性。

有办法做到这一点吗?谢谢!

最佳答案

您必须首先创建一个实例...调用该方法...如以下示例:

Beach.java

public class Beach {

    private String name;
    private String city;


    public Beach(String name, String city){
        this.name = name;
        this.city = city;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getCity() {
        return city;
    }

    public void setCity(String city) {
        this.city = city;
    }

}
Using Beach.java in Jython

>>> import Beach
>>> beach = Beach("Cocoa Beach","Cocoa Beach")
>>> beach.getName()
u'Cocoa Beach'
>>> print beach.getName()
Cocoa Beach

您可以阅读更多here

关于java - 使用 Jython 调用 Java 子类的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21114760/

相关文章:

python - 如何高效地逐行处理python中的字符串?

java - 从概念上理解快速排序

c# - 装饰模式问题C#/java

java - 将 dateString 从浏览器转换为 java.util.Date?

Python 应用配置最佳实践

java - Jython与ortool库

java - Websockets、Play Framework 和 Actor

python - 具有多个列表的正则表达式

python - 为什么 f'{{{74}} }' the same as f' {{74}}' 带有 f 字符串?

java - 调试 jython 脚本