Java接口interface field及method
2021/8/14 20:06:05
本文主要是介绍Java接口interface field及method,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
Java编程规范中对interface中的域有几点说明
一、接口中的field
一个是interface域必须有初始化器,也就是说其必须被显式初始化。
二是不能使用文本定义顺序靠后的字段来给前边字段赋值来初始化。
三是不能使用自身对自身赋值来初始化。
四是接口域的初始化器中不能出现super、this关键字,除非是出现在匿名类的body中。
1、在任何一个接口的body中声明的field,隐式的都表示为public、static、final的。
2、当一个接口继承的多个接口中包含同样的字段声明时,只要在接口中不直接简单地使用名称来引用该字段便不会出错。否则便会报compile-time error。因为这样的引用是有歧义的,引用的是哪一个?
3、当一个接口从不同的路径继承了同一个成员字段时,不会发生歧义,因为本质上就是一个接口字段。
二、接口中的method
1、接口中的方法其修饰符不需显式指明,都是public。
2、如果需要继承接口的类无需实现接口中的方法,则接口中的该方法可声明成default。
3、接口中声明的不带body的方法隐式的都是abstract方法,无需显式声明。
4、接口不继承static方法。所以接口中static修饰的方法也必须要有方法体。
5、非抽象类继承接口时必须要实现其不含方法体的方法。
6、另外,接口中定义default方法是为其继承类提供方便,子类不用定义,但是却需要使用这一功能。所以加了default修饰的接口方法都必须有方法体。
7、在接口中定义一个成员类型,会隐藏其所有继承的接口中的相同名称的成员
三、在mapstrcut中的使用
/** * @author ssozh * @data 2021/8/13 */ @Mapper(componentModel = "spring") public interface PersonBeanMapper { PersonBeanMapper INSTANCE = Mappers.getMapper(PersonBeanMapper.class); PersonVO toVO(Person person); }
实际上,我们知道mapstruct是APT的插件,我们也可以通过依赖注入的方式把这个Mapper注入进我们要使用的方法中:
@Resource private PersonBeanMapper personBeanMapper;
引用自:https://blog.csdn.net/weixin_43878293/article/details/103332570
这篇关于Java接口interface field及method的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-10-06小米11i印度快充版ROM合集:极致体验,超越期待
- 2024-10-06【ROM下载】小米11i 5G 印度版系统, 疾速跃迁,定义新速度
- 2024-10-06【ROM下载】小米 11 青春活力版,青春无极限,活力全开
- 2024-10-05小米13T Pro系统合集:性能与摄影的极致融合,值得你升级的系统ROM
- 2024-10-01基于Python+Vue开发的医院门诊预约挂号系统
- 2024-10-01基于Python+Vue开发的旅游景区管理系统
- 2024-10-01RestfulAPI入门指南:打造简单易懂的API接口
- 2024-10-01初学者指南:了解和使用Server Action
- 2024-10-01Server Component入门指南:搭建与配置详解
- 2024-10-01React 中使用 useRequest 实现数据请求