2010-10-06 25 views
0

Ok question vraiment stupide, mais j'ai quelques méthodes définies dans un fichier appelé x.java, qui est dans le dossier par défaut, et dans le même dossier, j'ai un fichier appelé z.java. Je veux utiliser les fonctions définies dans x dans z. Quand j'essaie, il me dit que la fonction est indéfinie. J'ai essayé de mettre import x.java; mais il est dit que x.java ne peut pas être résolu. Qu'est-ce que j'oublie ici?Java en utilisant les fonctions dans un fichier

+2

Vérifiez votre chemin de classe. Inclut-il le répertoire courant? c'est le "." –

+0

J'ai réussi à utiliser la méthode x class dans z.java sans aucune importation. Ma méthode dans x.java a un accès par défaut et j'ai créé un objet pour x classe et appelé la méthode. Probablement problème de chemin de classe mentionné par Suresh Kumar. – Reddy

+0

émettre ce jeu de commandes classpath =.;% Classpath% dans windows – Reddy

Répondre

4

D'après votre description, Je parierais qu'il y a de bonnes chances pour que vos deux fichiers source aient des classes définies dans le paquet par défaut (par exemple, vous ne définissez pas explicitement un paquet pour eux).

You can't import a class that's in the default package.

vous recommande de mettre votre classe x dans un package nommé (par exemple, foo.bar.x), alors vous pouvez l'importer:

import foo.bar.x; 
+0

Je ne sais pas pourquoi il a accepté cette réponse (bien que ce soit une très bonne réponse), c'est probablement un problème avec classpath. – Reddy

1

si vous avez un fichier appelé x.java qui compile à x.class, vous ne pas importer en faisant:

import x.java; 

mais vous

import x; 
1

Je pense que, si les deux classes sont en même paquet alors il n'est pas nécessaire d'importer la classe car cette classe peut être utilisée sans aucune importation et sans aucune erreur.