-1
votes

Appelez une méthode d'une classe d'une autre classe

J'essaie d'appeler la méthode d'une classe à l'aide d'une méthode dans une deuxième classe (qui devrait renvoyer une liste), toutefois, la méthode de la deuxième classe n'est pas reconnue. Je ne reçois aucune erreur ou avertissement visible.

Ma première classe: xxx

et le second xxx

de Comment accéder à une méthode d'une classe d'une autre classe? Je pensais cela fonctionnerait comme la première méthode est statique. Où est-ce que je fais l'erreur s'il vous plaît?


Info supplémentaire Si nécessaire: je suis en train d'interfacer ce code avec R à l'aide de rjava , mais recevez une erreur indiquant que Le Java est faux.

Ceci renvoie les valeurs comme prévu pour la première classe / méthode xxx

mais pas pour le Deuxièmement xxx

jette l'erreur

erreur dans .jcall ("rjavaques", "ljava / lang / objet;", "invoquethod", cl ,: java.lang.noschmethodexception: autresClass.OutputiveStuff ()


3 commentaires

C'est parce que sortistuff n'est pas statique.


Merci pour votre commentaire @klitoskyracou. Donc, je devrais mettre à jour vers Liste statique publique Sensfstuff () et / ou Statique public annulation statique principale ?


Vous n'avez besoin que de Public static Void Main Si vous souhaitez exécuter votre application de Java. Vous n'avez pas besoin de définir le principal du tout si vous souhaitez appeler une classe Java de R.


3 Réponses :


1
votes

rien de mal avec le code. La méthode principale doit être xxx

qui devrait suffire. Nous pouvons appeler des méthodes statiques à partir de méthodes non statiques par nom de classe.

afin d'appeler Outerstuff à partir de la principale, faites d'Outerstuff comme statique ou créez une nouvelle instance d'autreClass et appelez directement.


2 commentaires

Merci pour votre réponse. Existe-t-il des avantages pour appliquer statique à la méthode (code> et la méthode et le principal appel ou est-ce que ça va juste sur le ? Est votre édition; Le code semblait exécuter (pas d'erreur en Java ou R) sans le Nouveau autre autreClass (). Outerstuff ();


rien de mal avec le code. mais changer toutes ces choses. Comment cela explique-t-il le message d'erreur qu'ils obtiennent de RJava?



0
votes

Vous pouvez faire votre Statustuff statique et il doit fonctionner, car celui-ci est la méthode que vous essayez de facturer


0 commentaires

-1
votes

La méthode principale doit être le principal vide statique (chaîne [] args). L'appel de la méthode statique de la méthode non statique est parfaitement bien.


0 commentaires