If you have programmed Java at the command line, or if you have used another Java IDE, you might find that many things are different in NetBeans from what you have previously experienced. The difference arises primarily because Java itself is a self-contained, abstract model of computing with its own virtual machine and memory model juxtaposed on the intent of the NetBeans designers to fulfill this model.
Java was at first intended to be an entire operating system; Sun and IBM even went a long way toward building a Java computer with a Java OS before Java retrenched and remained primarily a software virtual machine running under a host operating system. Java does not even presume the existence of a hosting hierarchical file system. Instead, it has its own hierarchy of nested packages that are Java’s “native file system,” as it were.
NetBeans goes a long way toward cooperating with Java’s abstract model of computing. If Java really were the operating system of your computer, the GUI explorer you would use to navigate your system would look a lot like the NetBeans Explorer.
This is the essence of what is special about programming Java under NetBeans, as compared to programming Java at the command line. NetBeans leans toward presenting the Java computing universe to you from Java’s point of view, not from the point of view of any particular hosting operating system.
Part of that Java view of computing ...