Home Java javaTutorial what is interface in java

what is interface in java

May 22, 2019 am 11:26 AM
java

what is interface in java

Interface (English: Interface), in the JAVA programming language, is an abstract type and a collection of abstract methods. The interface is usually declared with interface. A class inherits the abstract methods of the interface by inheriting the interface.

Interfaces are not classes. The way to write interfaces is very similar to classes, but they belong to different concepts. Classes describe the properties and methods of an object. The interface contains the methods that the class implements.

Unless the class that implements the interface is an abstract class, the class must define all methods in the interface.

Interface cannot be instantiated, but it can be implemented. A class that implements an interface must implement all methods described in the interface, otherwise it must be declared as an abstract class. In addition, in Java, interface types can be used to declare a variable, they can be a null pointer, or be bound to an object that implements this interface.

The declaration syntax format of the interface is as follows:

[可见度] interface 接口名称 [extends 其他的接口名] {
        // 声明变量
        // 抽象方法}
Copy after login

Function

In the Java language specification, the characteristics of a method are only Including the name of the method, the number and type of parameters, but not the return type of the method, the names of the parameters and the exceptions thrown. When the Java compiler checks the overloading of methods, it will determine whether the two methods are overloaded methods based on these conditions. But when the Java compiler checks the substitution of the method, it will further check whether the return type and exception thrown by the two methods (supertype and subtype) are the same.

The rules for interface implementation and class inheritance are different. For data security, a class has only one direct parent class during inheritance, that is, single inheritance. However, a class can implement multiple interfaces, and interfaces make up for the inability of classes. Disadvantages of multiple inheritance: The dual design of inheritance and interface not only maintains the data security of the class but also implements multiple inheritance in disguise.

The Java interface itself does not have any implementation, because the Java interface does not involve representation, but only describes public behavior, so the Java interface is more abstract than the Java abstract class. But interfaces are not classes, and you cannot use the new operator to instantiate an interface. Such as x=new comparable(...);//This is an error. But the interface variable Comparable x can be declared; //This is allowed.

Methods of Java interfaces can only be abstract and public. Java interfaces cannot have constructors. Java interfaces can have public, static and final attributes. That is, the properties in the interface can be defined as public static final int value=5; [1]

The interface separates the characteristics of the method and the implementation of the method. This separation is reflected in the fact that an interface often represents a role, which packages the operations and properties related to that role, and the class that implements this interface is the actor who plays this role. A role is played by different actors, and different actors do not require anything else in common except playing a common role.

Use two similar functions in two classes, call their classes to dynamically determine an implementation, then they provide an abstract parent class, child Classes implement the methods defined by the parent class respectively.

The emergence of the problem: Java is a single-inheritance language. Under normal circumstances, which specific class may already have a superclass. The solution is to add a parent class to its parent class, or to give it a parent class. The parent class plus the parent class until it moves to the top of the class hierarchy. In this way, designing the pluggability of a specific class becomes a modification of all classes in the entire hierarchy.

Pluggability

Any class in a hierarchical structure can implement an interface. This interface will affect all subclasses of this class, but not Will affect any superclasses of this class. This class will have to implement the methods specified by this interface, and its subclasses can automatically inherit these methods from this class. Of course, you can also choose to replace all these methods, or some of them. At this time, these subclasses have Pluggability (and can be loaded with this interface type, passing all subclasses that implement it).

What we care about is not that specific class, but whether this class implements the interface we need.

Interfaces provide pluggability in association and method calls. The larger the scale of the software system, the longer the life cycle. Interfaces ensure the flexibility and scalability of the software system, and pluggability is guaranteed.

Type

Use Java interfaces to couple software units internally and externally. Use Java interfaces instead of concrete classes to declare variable types, return type declarations for methods, type declarations for parameters, and convert data types.

In an ideal situation, a concrete Java class should only implement the Java interface and the methods declared in the abstract Java class, and should not give extra methods.

Hierarchical structure

Java interfaces (and abstract classes) are generally used as the starting point for a type's hierarchical structure.

If a class already has a primary supertype (parent class), then by implementing an interface, the class can have another secondary supertype. This secondary supertype is called a mixed type .

Related learning recommendations:

java basic tutorial

The above is the detailed content of what is interface in java. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Perfect Number in Java Perfect Number in Java Aug 30, 2024 pm 04:28 PM

Guide to Perfect Number in Java. Here we discuss the Definition, How to check Perfect number in Java?, examples with code implementation.

Weka in Java Weka in Java Aug 30, 2024 pm 04:28 PM

Guide to Weka in Java. Here we discuss the Introduction, how to use weka java, the type of platform, and advantages with examples.

Smith Number in Java Smith Number in Java Aug 30, 2024 pm 04:28 PM

Guide to Smith Number in Java. Here we discuss the Definition, How to check smith number in Java? example with code implementation.

Java Spring Interview Questions Java Spring Interview Questions Aug 30, 2024 pm 04:29 PM

In this article, we have kept the most asked Java Spring Interview Questions with their detailed answers. So that you can crack the interview.

Break or return from Java 8 stream forEach? Break or return from Java 8 stream forEach? Feb 07, 2025 pm 12:09 PM

Java 8 introduces the Stream API, providing a powerful and expressive way to process data collections. However, a common question when using Stream is: How to break or return from a forEach operation? Traditional loops allow for early interruption or return, but Stream's forEach method does not directly support this method. This article will explain the reasons and explore alternative methods for implementing premature termination in Stream processing systems. Further reading: Java Stream API improvements Understand Stream forEach The forEach method is a terminal operation that performs one operation on each element in the Stream. Its design intention is

TimeStamp to Date in Java TimeStamp to Date in Java Aug 30, 2024 pm 04:28 PM

Guide to TimeStamp to Date in Java. Here we also discuss the introduction and how to convert timestamp to date in java along with examples.

Java Program to Find the Volume of Capsule Java Program to Find the Volume of Capsule Feb 07, 2025 am 11:37 AM

Capsules are three-dimensional geometric figures, composed of a cylinder and a hemisphere at both ends. The volume of the capsule can be calculated by adding the volume of the cylinder and the volume of the hemisphere at both ends. This tutorial will discuss how to calculate the volume of a given capsule in Java using different methods. Capsule volume formula The formula for capsule volume is as follows: Capsule volume = Cylindrical volume Volume Two hemisphere volume in, r: The radius of the hemisphere. h: The height of the cylinder (excluding the hemisphere). Example 1 enter Radius = 5 units Height = 10 units Output Volume = 1570.8 cubic units explain Calculate volume using formula: Volume = π × r2 × h (4

Create the Future: Java Programming for Absolute Beginners Create the Future: Java Programming for Absolute Beginners Oct 13, 2024 pm 01:32 PM

Java is a popular programming language that can be learned by both beginners and experienced developers. This tutorial starts with basic concepts and progresses through advanced topics. After installing the Java Development Kit, you can practice programming by creating a simple "Hello, World!" program. After you understand the code, use the command prompt to compile and run the program, and "Hello, World!" will be output on the console. Learning Java starts your programming journey, and as your mastery deepens, you can create more complex applications.

See all articles