Win a copy of The Java Performance Companion this week in the Performance forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Default package access

 
Binkie Hayes
Greenhorn
Posts: 20
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hey guys
I've got a bit of a dumb question that's got me all confused!
I've got 2 directories, Folder1 and Folder2 on my C drive, and I've set my classpath to point to Folder1.
In Folder1 I've got this class:
class MyDefaultClass
{
static{System.out.println("Howdy, y'all!");
}
In Folder2 I've got this class:
class Test
{
public static void main(String []args)
{
MyDefaultClass x = new MyDefaultClass();
}
}
Now, I was thinking that Test wouldn't compile because MyDefaultClass is in the default package and the 2 classes are in different directories, but it compiled no problem. I'm presuming it has something to do with the classpath but i dont know what!! any ideas please??! am v confused!
thanks y'all!
binkie
 
Nain Hwu
Ranch Hand
Posts: 139
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Binkie,
Even though you put the classes in different directories, they are still in the same package, the default package, since
you did not specify package for your classes.
So, it will compile.
[This message has been edited by Nain Hwu (edited December 10, 2001).]
 
Jane Griscti
Ranch Hand
Posts: 3141
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi Binkie,
If you did something similar to the following:

Then you are specifically telling Java to look for user class files in 'folder1'. In other words, you're telling Java to use 'folder1' as the default package. And, as you didn't include a package statement in either file; they'll both use the current default package.
If you try to compile without setting a classpath, Test.java will produce an error.
Hope that helps.
 
Binkie Hayes
Greenhorn
Posts: 20
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thanks guys!
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic