Help coderanch get a
new server
by contributing to the fundraiser
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

Default package access

 
Greenhorn
Posts: 20
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • 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
 
Ranch Hand
Posts: 139
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • 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).]
 
Ranch Hand
Posts: 3141
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • 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
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Thanks guys!
 
Are you here to take over the surface world? Because this tiny ad will stop you!
We need your help - Coderanch server fundraiser
https://coderanch.com/t/782867/Coderanch-server-fundraiser
reply
    Bookmark Topic Watch Topic
  • New Topic