Hi there
I had defined an interface 'laugh'in package 'temp' as follows
//the file is c:\work\temp\laugh.java
package temp;
interface laugh{
void eee();
int a=1;
int b=2;
int c=3;

and the in temp work directory I created a java code that used the
interface. The code is as follows:

//the file is c:\work\abc.java
import temp.laugh;
class ppp implements laugh{
public void eee()
System.out.println("interface function eee() called");

class abc{
public static void main(String args[])
ppp a=new ppp();
//file ends

My current working directory is c:\work. I have not set CLASSPATH variable;
but that is not the problem since \temp directory is under work ; so it's
accessible from \work which is current working directory.
The problem is that when i give the following command...(from current dir)

javac abc.java

...compile time error comes similar to "temp.laugh is not public in temp".
This is ok. I have not declared 'laught' interface as public so that will
go into default package of java.But when I changed the first statement of
c:\work\abc.java from....

import temp.laugh;
import temp.*;

...the program is compiled and run properly. Why didn't java give compile
time error this time? In fact the above change to the import statement
doesn't change the meaning ; so how does it cause 'laugh' to be considered
in spite of NOT being declared as public?