you're thinking of .net packages
java.io is a package & would be used with import
java.io.*;
public is available for use by other objects through an instance of the object declared.
Code:
class t extends Object{
public int add(int a, int b){return a + b;}
public t(){}
}
class other extends Object{
private int value;
public other(){
t A = new t();
value = A.add(3, 4);
}
}
you see here that t defines a public method, which may be called by things instantiating instances of t (such as A). you also see that other has a private int called value. value cannot be accessed from outside of an instance of "other". in other words it's private to that object.
InputStreamReader would read from a stream (file, memory, etc. depends on context)
public static void main(String[] args) is the initializing method for the primary class in a console based assembly.
Netbeans is decent but requires a ton of memory, Jbuilder is obsolete, and eclipse is slow, unreliable, & otherwise garbage. no real good options Oracle 11g studio seems to be about par for the course with Netbeans, sunstudio isn't much better either being that it's based on netbeans 5, there is a newer release but it's only for solaris/linux/unix.