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的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2025-01-11cursor试用出现:Too many free trial accounts used on this machine 的解决方法
- 2025-01-11百万架构师第十四课:源码分析:Spring 源码分析:深入分析IOC那些鲜为人知的细节|JavaGuide
- 2025-01-11不得不了解的高效AI办公工具API
- 2025-01-102025 蛇年,J 人直播带货内容审核团队必备的办公软件有哪 6 款?
- 2025-01-10高效运营背后的支柱:文档管理优化指南
- 2025-01-10年末压力山大?试试优化你的文档管理
- 2025-01-10跨部门协作中的进度追踪重要性解析
- 2025-01-10总结 JavaScript 中的变体函数调用方式
- 2025-01-10HR团队如何通过数据驱动提升管理效率?6个策略
- 2025-01-10WBS实战指南:如何一步步构建高效项目管理框架?