Bir .py hakkında bir program yazmayı, bir example on IBM developerworks gibi bir java arabirimini genişletmeye çalışıyorum.Jython AttributeError: salt okunur attr
Ama böyle bir sorun var:
AttributeError: read-only attr: cardID
Ama cardNum için cardID adlandırmak eğer tuhaf bir şeydir, çalışıyor. İşte benim kod:
CardInfo.py
from com.jyt import CardInfo
class CardInfo(CardInfo):
def __init__(self):
self.cardName = "Dark Magician"
self.cardID = "888"
def getName(self):
return self.cardName
def getCardID(self):
return self.cardID
def setID(self,newID):
self.cardID = newID
ve java arayüzü:
public interface CardInfo {
public String getCardID();
public String getName();
public void setID();
}
ve
Object javaObject;
PythonInterpreter interpreter = new PythonInterpreter();
// PySystemState sys = Py.getSystemState();
interpreter.execfile("./res/CardInfo.py");
interpreter.exec("cardInfo=CardInfo()");
PyObject pyObject = interpreter.get("cardInfo");
pyObject.invoke("setID",new PyString("12345"));
try{
javaObject = pyObject.__tojava__(CardInfo.class);
CardInfo cardInfo = (CardInfo)javaObject;
System.out.println(cardInfo.getCardID());
System.out.println(cardInfo.getName());
}catch(Exception e){
e.printStackTrace();
}
Bunu çözebilecek bilen java dosya?
cardID bir KeyWord veya bir şey, CardNID , CID , vs çalıştığı görünüyor , çalışır – user1746290