Four classes: Protected SubProtected Alongsider SamePackageDweller demonstrate various aspects of visibility for package and protected members. The package structure is important. To compile to the package structure use -d option: javac -d . ClassName.java To run (DO NOT CHANGE WORKING DIRECTORY): java packagename.ClassName The compiling and running is facilated with Makefile; just run make or make run or make clean (to clean up)