What Does Cross-Cutting Concern Mean?
An application programming interface (API), in the context of Java, is a collection of prewritten packages, classes, and interfaces with their respective methods, fields and constructors. Similar to a user interface, which facilitates interaction between humans and computers, an API serves as a software program interface facilitating interaction.
In Java, most basic programming tasks are performed by the API’s classes and packages, which are helpful in minimizing the number of lines written within pieces of code.
Java Development Kit (JDK) is comprised of three basic components, as follows:
- Java compiler
- Java Virtual Machine (JVM)
- Java Application Programming Interface (API)
The Java API, included with the JDK, describes the function of each of its components. In Java programming, many of these components are pre-created and commonly used. Thus, the programmer is able to apply prewritten code via the Java API. After referring to the available API classes and packages, the programmer easily invokes the necessary code classes and packages for implementation.
Techopedia Explains Cross-Cutting Concern
The API is a library of available Java classes, packages and interfaces. The three API types are as follows:
- Official Java core API, which is bundled with the JDK download
- Optional official Java APIs, which may be downloaded if needed
- Unofficial APIs, which are third-party APIs that may be downloaded from source websites
The APIs help programmers determine class or package functions, parameters and other necessary information. The official API includes packages, e.g., applet packages, graphics and GUI swing packages, input/output (IO) packages and Abstract Windows Toolkit (AWT), among others.
There are three frames when an API starts, as follows:
- The first frame shows all API components (classes and packages).
- When a particular package is selected, the second frame shows all interfaces, classes and exceptions of that particular package.
- The third and primary frame provides an overview of all of API packages, which can be expanded in the main frame to show the index, class hierarchy and help sections.