0

Ok really stupid question, but I have some methods defined in a file called x.java, which is in the default folder, and in the same folder, I have a file called z.java. I want to use the functions defined in x in z. When I try, it tells me the function is undefined. I tried to put import x.java; but it says x.java cannot be resolved. What am I missing here?

Snowman
  • 31,411
  • 46
  • 180
  • 303
  • 2
    Check your classpath. Does it include the current directory? i.e the "." – Suresh Kumar Oct 06 '10 at 03:25
  • I was able to successfully use x class's method in z.java without any import. My method in x.java has default access and I have created object for x class and called the method. Probably class path problem as Suresh Kumar mentioned. – Reddy Oct 06 '10 at 04:48
  • issue this command set classpath=.;%classpath% in windows – Reddy Oct 06 '10 at 04:48

3 Answers3

4

Based on your description, I'd bet there's a good chance both of your source files defined classes in the default package (i.e., you don't explicitly define a package for them).

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

Recommend you put your class x in a named package (e.g., foo.bar.x), then you can import it:

import foo.bar.x;
Community
  • 1
  • 1
RonU
  • 5,525
  • 3
  • 16
  • 13
  • I don't know why he accepted this answer (though it is very good answer), it probably problem with classpath. – Reddy Oct 06 '10 at 04:50
1

if you have a file called x.java which compiles to x.class, you don't import by doing:

import x.java;

but you do

import x;
tim_wonil
  • 14,970
  • 6
  • 29
  • 42
1

I think, if the two classes are in same package then there is no need to import the class as that class can be used without any import and without any error.

M.J.
  • 16,266
  • 28
  • 75
  • 97