J'utilise un package qui a un appel de méthode non statique. Il ne me laissera pas appeler cette méthode à partir d'un contexte statique. Je ne peux pas changer la méthode non statique, comment puis-je appeler cette méthode?Contexte statique Java
Répondre
Créer un objet hors de cette classe et appeler la méthode sur l'objet?
import com.acme.myclass;
...
MyClass obj = new MyClass();
obj.nonStaticMethod();
Si le package que vous utilisez a toute la documentation, assurez-vous de regarder à travers pour voir comment vous êtes censé utiliser cette classe et sa méthode non statique. Vous voudrez peut-être aussi en savoir plus sur la statique par rapport à la non-statique dans la programmation orientée objet en général, pour avoir une meilleure idée des différences.
Pour appeler une méthode non statique, vous devez appeler la méthode sur une instance d'un objet.
Compte tenu de la classe suivante:
public class MyClass {
public void nonStaticMethod();
}
Vous appelez la méthode comme ceci:
new MyClass().nonStaticMethod();
Ou, si vous avez besoin d'appeler cette méthode plus d'une fois, vous pouvez l'enregistrer dans un objet.
MyClass instance = new MyClass();
instance.nonStaticMethod();
...
instance.nonStaticMethod();
Les méthodes statiques n'ont pas besoin d'être instanciées, contrairement aux méthodes d'instance, dans une classe d'instance.
Pour accéder à une méthode d'instance, vous devez d'abord avoir une instance de sa classe à l'aide du mot-clé new
. Vous pouvez ensuite accéder aux méthodes d'instance de cette classe.
Cette méthode appartient à une classe.
Alors, ce que vous devez faire est de créer une instance de cette classe (très probablement avec le nouvel opérateur), puis l'utiliser:
package a;
class A {
public void theMethod(){
}
}
.....
package b;
import a.A;
class Main {
public static void main(String [] args) {
A a = new A();
a.theMethod();
}
}
non-statique (par exemple) ne peut pas être appelé de statique le contexte. D'une autre manière est possible.
Vous pouvez instancier un objet de la classe chaque fois que vous devez appeler la méthode non-statique, avec quelque chose comme:
new BadlyWrittenClass().BadlyWrittenMethod();
Cependant, si vous allez faire cela beaucoup, il peut devenir inefficace pour continuer à créer et à détruire des objets de cette manière.
Une meilleure façon peut être d'instancier un objet, comme dans votre propre constructeur de classe, et de l'utiliser à chaque fois que vous avez besoin d'appeler la méthode. Pourvu qu'il ne nécessite pas un nouvel objet initialisé à chaque fois, cela sera probablement plus efficace.
Mais vous pouvez également garder à l'esprit qu'il peut y avoir un raison pourquoi la méthode n'est pas statique (malgré mon jab pas si subtile dans les noms de classe et de méthode ci-dessus). Assurez-vous qu'il ne nécessite pas d'état que vous ne configurez pas lorsque vous créez une nouvelle instance. En d'autres termes, n'essayez pas aveuglément de le faire sans comprendre.
- 1. Regex.Replace et contexte statique?
- 2. Contexte statique dans la définition enum
- 3. java: variable non statique ne peut pas être référencée à partir d'un contexte statique Erreur
- 4. Java méthode non statique playComplètement ne peut pas être référencé à partir d'un contexte statique
- 5. JSF - appeler FacesContext.getCurrentInstance() dans un contexte statique
- 6. Java statique
- 7. Java statique paramétrée usine statique générique
- 8. Méthode statique usine statique [getInstance()] dans Java?
- 9. java jaspe params statique
- 10. Créateur d'instance statique Java?
- 11. Commutateurs de contexte Java inutiles
- 12. Utilisation de types génériques dans un contexte statique
- 13. méthode non statique setPrzechowaj (java.lang.String) ne peut pas être référencé froma un contexte statique
- 14. nom de la variable non statique ne peut pas être référencé à partir d'un contexte statique
- 15. Comment non-statique est accessible en contexte statique dans ce programme?
- 16. Java statique vs objets réguliers
- 17. initialisation de variable statique java
- 18. Couverture pour l'analyse statique Java
- 19. variable non statique appelée à partir du contenu statique, java
- 20. Qu'est-ce qu'un contexte graphique (en Java)?
- 21. exemple de délégation concernant le contexte java
- 22. Comment synchroniser la méthode statique dans Java
- 23. Java méthode statique solution de contournement?
- 24. Hériter une variable statique en Java
- 25. Interfaces Java ... Mémoire dynamique ou statique?
- 26. Java: retourne une classe imbriquée statique
- 27. Comment rendre statique une méthode Java Generic?
- 28. La classe interne doit-elle être statique en Java?
- 29. ASP.NET/IIS équivalent de la racine de contexte Java/WAS
- 30. Données Java et binaires dans le contexte des sockets
Combien de Java avez-vous appris? Il semble que vous auriez avantage à lire quelques tutoriels Java de base. – jjnguy
http://download.oracle.com/javase/tutorial/ – jjnguy