We call this encapsulation. Encapsulation eases testing and verification because it uses the compiler and linker to enforce the separation of concerns that software designers build into their solutions. Portability is another benefit of developing with Java technologies. A portable programming language allows the developer to write applications that run on any CPU or operating system. Since Java programs are portable, programmers can develop, integrate and test a complete system before the hardware is available for deployment.
Portability also facilitates software reuse.
So the effort put into development, testing and verification of the original software does not have to be repeated. One of the innovations of the Java platform is its support for secure dynamic loading. Dynamic loading describes the notion that new class files can be loaded into a Java virtual machine while it is already running an existing workload. Secure dynamic loading also restricts the operations that may be performed by various dynamically loaded components. Untrusted components are prohibited from performing operations, such as reading or removing files, that might compromise the system's privacy or integrity.