Packages (Package)
The role of the package
keyword package and import
When writing a Java source file, this file is often referred to as a compilation unit . Each compilation unit must have a suffix name . java.
In a compilation unit, you can have a public class that has the same name as the file. Other classes are allowed in the file, but not the public class.
When compiling a . Javafile, each class in the file will have a suffix of . ClassOutput file with the same file name and class name.
A Java runnable program is a set of. class files that can be packaged and compressed into a Java document file (jar, a jar document generator using Java). The Java interpreter is responsible for locating, loading, and interpreting these files.
A class library is actually a set of class files. Each of these files has a public class , and any number of non-public classes.
So each file has a component (each with its own separate. java and. class files). If you want these artifacts to belong to the same group, you can use the keyword package .
If you use the package statement, you must be the first line of code in the file except for comments. As follows:
PackageAccess
If you want to use an access package, you need to use the keyword import. As follows:
Importaccess.*;
the above is from "thinking in Java" . As the above description shows, the role of the package is actually very similar to the namespace (namespace) in C + + .
Points
To avoid the unique package name, the general naming method is:
(1) The first part should be the anti-order Internet domain name of the creator of the class.
(2) The second part is to decompose the package name into a file directory on the machine.
When the Java program runs and loads the. class file, it can find the appropriate path based on the package name.
eg
PackageNet.mindview.simple;
Java access rights
Access control permissions in Java are based on permissions from large to small:
Public>
protected>
Package access permissions (no keywords)>
Private。
Note: in order to facilitate the description of the access rights, may wish to make an image metaphor. a class in the same package can be considered a friend relationship ; A class that has an inheritance relationship can be considered a parent-child relationship ; all members in the same class are considered themselves .
Scope |
Yourself (current Class) |
Friends (same package) |
Descendants (Inheritance relationship) |
Other Package |
Public |
Access to |
Access to |
Access to |
Access to |
Protected |
Access to |
Access to |
Access to |
Not accessible |
Friendly |
Access to |
Access to |
Not accessible |
Not accessible |
Private |
Access to |
Not accessible |
Not accessible |
Not accessible |
Package access rights
JAVA 's default access rights do not have any keywords, usually referred to as package access rights (sometimes also expressed as friendly).
This means that all other classes in the current package have access to the members of the package access permission. But for classes that are not in this package, this member is private.
Because a compilation unit (that is, a. java file) can be subordinate to only one package, all classes in the same compilation unit are accessible to each other.
You and your friend class can access it.
Public access rights
Accessible to all .
Private access RightsIt is accessible only to
itself (except for the class that contains the member, which is inaccessible to any other class).
Protected access rights
They can be accessed by themselves, by friends , and by descendant classes .
JAVA Infrastructure Packages (package)