Sun Company feels that the abstract class of C++ is not good and does not strictly control it. Therefore, Sun upgraded abstract classes to interfaces. Abstract classes are rarely used in Java. All declarations use interfaces to implement them.
Interface (interface) There is only a single inheritance in Java, but multiple interfaces can be implemented. There is a saying that everything is an interface. If you want to make a very good program in Java, you must have an interface. Only with interfaces can you achieve scalability.
Interface rules:
1. All methods in the interface are method declarations
2. The properties in the interface are constant properties
3. Interfaces can be inherited from each other
4. Interfaces cannot inherit from classes
5. Interfaces cannot inherit abstract classes
6. Interfaces cannot instantiate objects either
7. All methods and properties are public
As shown in Figure 8.9:
Figure 8.9
Interfaces can be inherited as shown in Figure 8.91:
Figure 8.91
This attribute is actually a constant , regardless of whether you add the constant keyword or not, the final result is actually a constant, and the attributes of the interface are all constants.
Interfaces cannot inherit from classes, as shown in Figure 8.92:
Figure 8.92
Interfaces cannot inherit abstract classes, as shown in Figure 8.93:
Figure 8.93
The charm of interfaces:
l When doing programming, everything must be an object
l When doing architecture and design, everything must be an interface and programmed for parent classes
Although interfaces have no functional implementation and only have the functions of methods, they are used in many places. Interfaces will not affect the functionality of your program, but they will affect the architecture and design of your program. We should regard everything in real life as an interface, and use interfaces to do everything when programming. If a system is full of interfaces, then the system will be very powerful. When building a system, extract all functions out of the interface, and then write an implementation class to implement this interface. Everything is an interface, which means treating everything in real life as an interface. Then the architecture of your program can be very good and very strong.
Sun is very smart. For example, if Java wants to connect to a database, it must implement some code to operate the database. Sending someone to connect to his database won't work. The database is a product that will definitely be upgraded, and the database is owned by the database company. Only the database company knows the advantages of the database, so Sun is very passive. Then Sun Company came up with a way, which is to apply all the functions of connecting to the database as interfaces, and then convene the database company to attend the press conference to let the database implement Sun Company's interface. This is the charm of interfaces. Sun stipulates the plan and then lets others implement it. As shown in Figure 8.94:
Figure 8.94
After declaring an interface, you must program for the interface. If you declare an interface but do not use it, you will not know what the use of the interface is in the future.