A package is a group of similar type of classes interfaces and sub-packages. It provides access protection and removes naming collision.
No. It is by default loaded internally by the JVM.
One can import the same package or same class multiple times. Neither compiler nor JVM complains about it.But the JVM will internally load the class only once no matter how many times you import the same class.
By static import, we can access the static members of a class directly, there is no need to qualify it with the class name.
No you will have to import the sub packages explicitly. Importing com.bob.* will import classes in the package bob only. It will not import any class in any of its sub packages.
Java provides access modifiers to set access levels for classes, variables, methods and constructors. A member has package or default accessibility when no accessibility modifier is specified.
Variables, methods and constructors which are declared protected in a superclass can be accessed only by the subclasses in other package or any class within the package of the protected members's class
No its not possible to access outside its package
Accessible only by the objects in the same package.
protected members are accessible by sub class located inside and outside the package whereas default members are only accessed by subclass located in the same package, not accessible outside the package