全球热点!java中接口(interface)_java的interface

2022-09-29 15:17:50来源:互联网  


(相关资料图)

interface是面向对象编程语言中接口操作的关键字,功能是把所需成员组合起来,用来封装一定功能的集合。它好比一个模板,在其中定义了对象必须实现的成员,通过类或结构来实现它。接口不能直接实例化。
接口不能包含成员的任何代码,只定义成员本身。接口成员的具体代码由实现接口的类提供。接口使用interface关键字进行声明。

接口不能用于实例化对象。接口没有构造方法。接口中所有的方法必须是抽象方法,Java 8 之后 接口中可以使用 default 关键字修饰的非抽象方法。接口不能包含成员变量,除了 static 和 final 变量。接口不是被类继承了,而是要被类实现。接口支持多继承。

作用

有时必须从几个类中派生出一个子类,继承它们所有的属性和方法。但是,Java不支持多重继承。有了接口,就可以得到多重继承的效果。
接口(interface)是抽象方法和常量值的定义的集合,也就是说接口是一种特殊的抽象类,这种抽象类中只包含常量和方法的定义,而没有变量和方法的实现。

举例

//// Source code recreated from a .class file by IntelliJ IDEA// (powered by FernFlower decompiler)//package org.springframework.web.servlet.config.annotation;import java.util.List;import org.springframework.format.FormatterRegistry;import org.springframework.http.converter.HttpMessageConverter;import org.springframework.lang.Nullable;import org.springframework.validation.MessageCodesResolver;import org.springframework.validation.Validator;import org.springframework.web.method.support.HandlerMethodArgumentResolver;import org.springframework.web.method.support.HandlerMethodReturnValueHandler;import org.springframework.web.servlet.HandlerExceptionResolver;public interface WebMvcConfigurer {    default void configurePathMatch(PathMatchConfigurer configurer) {    }    default void configureContentNegotiation(ContentNegotiationConfigurer configurer) {    }    default void configureAsyncSupport(AsyncSupportConfigurer configurer) {    }    default void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {    }    default void addFormatters(FormatterRegistry registry) {    }    default void addInterceptors(InterceptorRegistry registry) {    }    default void addResourceHandlers(ResourceHandlerRegistry registry) {    }    default void addCorsMappings(CorsRegistry registry) {    }    default void addViewControllers(ViewControllerRegistry registry) {    }    default void configureViewResolvers(ViewResolverRegistry registry) {    }    default void addArgumentResolvers(List<HandlerMethodArgumentResolver> resolvers) {    }    default void addReturnValueHandlers(List<HandlerMethodReturnValueHandler> handlers) {    }    default void configureMessageConverters(List<HttpMessageConverter<?>> converters) {    }    default void extendMessageConverters(List<HttpMessageConverter<?>> converters) {    }    default void configureHandlerExceptionResolvers(List<HandlerExceptionResolver> resolvers) {    }    default void extendHandlerExceptionResolvers(List<HandlerExceptionResolver> resolvers) {    }    @Nullable    default Validator getValidator() {        return null;    }    @Nullable    default MessageCodesResolver getMessageCodesResolver() {        return null;    }}

接口类创建抽象函数,然后使具体类implements实现接口,在具体类中override重写来实现函数。

接口实现的注意点:
a.实现一个接口就是要实现该接口的所有的方法(抽象类除外)。
b.接口中的方法都是抽象的。
c.多个无关的类可以实现同一个接口,一个类可以实现多个无关的接口。

相关阅读

精彩推荐

相关词

推荐阅读