用java 调用python 类里面的方法 怎么调用啊 怎么调用类web 下面的adder方法啊

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用java 调用python 类里面的方法 怎么调用啊 怎么调用类web 下面的adder方法啊相关的知识,希望对你有一定的参考价值。

class web
def getvalue(self,s,v):
self.m=s
self.n=v
def adder(self,a,b):
self.getvalue(3,4)
s=a+self.m
d=b+self.n
return a+b

import javax.script.*;

import org.python.core.PyFunction;
import org.python.core.PyInteger;
import org.python.core.PyObject;
import org.python.util.PythonInterpreter;

import java.io.*;
import static java.lang.System.*;
public class Firstjavascript

public static void main(String args[])


PythonInterpreter interpreter = new PythonInterpreter();
interpreter.execfile("C:\\\\Python27\\\\programs\\\\my_utils.py");
PyFunction func = (PyFunction)interpreter.get("adder",PyFunction.class);

int a = 2010, b = 2 ;
PyObject pyobj = func.__call__(new PyInteger(a), new PyInteger(b));
System.out.println("anwser = " + pyobj.toString());

//main


如果解决了您的问题请采纳!
如果未解决请继续追问
参考技术A http://blog.sina.com.cn/s/blog_64e467d60100uhls.html
上面有一个方法

子类为啥要调用父类的构造函数

在Java中,子类的构造过程中,必须 调用其父类的构造函数, 所以说,子类对象比父类对象大,子类对象里面包含了一个父类的对象,这是内存中真实的情况. 构造方法是new一个对象的时候,必须要调的方法,这是规定,要new父类对象出来,那么肯定要调用其构造方法,所以 第一个规则:子类的构造过程中,必须 调用其父类的构造方法 一个类,如果我们不写构造方法,那么编译器会帮我们加上一个默认的构造方法,所谓默认的构造方法,就是没有参数的构造方法,但是如果你自己写了构造方法,那么编译器就不会给你添加了 所以有时候当你new一个子类对象的时候,肯定调用了子类的构造方法,但是在子类构造方法中我们并没有显示的调用基类的构造方法,就是没写,如:super(); 并没有这样写,但是 第二个规则:如果子类的构造方法中没有显示的调用基类构造方法,则系统默认调用基类无参数的构造方法 注意:如果子类的构造方法中既没有显示的调用基类构造方法,而基类中又没有默认无参的构造方法,则编译出错,所以,通常我们需要显示的:super(参数列表),来调用父类有参数的构造函数 参考技术A 第一个 子类要能访问父类继承过来的那一坨信息,必须有地方存储这一坨信息 java中的实现方式是在子类对象内部构建一个父类对象
第二个 为了保证子类中的任何地方都能访问父类,默认会在子类构造器第一行调用父类构造器去构造父类对象 保证子类在自己的构造器中能访问继承的那坨信息
参考技术B 子类继承了父类,同样也继承了父类的成员变量。
所以系统需要先调用父类的构造方法,把父类里的东西创建好,再调用子类的。
参考技术C sun规定的,属于java的语法,没必要深究.话说回来有儿子必须得有父亲,一样个意思 参考技术D 创建对象?

以上是关于用java 调用python 类里面的方法 怎么调用啊 怎么调用类web 下面的adder方法啊的主要内容,如果未能解决你的问题,请参考以下文章

关于用java反射调用一个类里面的方法并执行

java知道方法名怎么调用方法

java里的时间应该怎样调

java调python

用NSClassFromString得到的class怎么调用那个类的类方法

python的函数里面定义的变量在函数外面怎么用?