当前位置: 首页 > news >正文

Lombok:@Delegate优化代码利器

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

目录

一、@Delegate介绍

二、示例

三、使用场景

四、使用注意事项

总结


提示:以下是本篇文章正文内容,下面案例可供参考

一、@Delegate介绍

@Delegate可以让你的类使用其他类的方法,而不需要自己写代码

二、示例

// 一个类,有一个方法
public class A {public void sayHello() {System.out.println("Hello");}
}// 一个类,委托了A类的方法
public class B {@Delegate // 委托A类的方法private A a = new A();public static void main(String[] args) {this.sayHello(); // 调用A类的方法}
}

有一个类叫做A,它有一个方法叫做sayHello(),你想让另一个类B也能用这个方法,那就可以在B类中加上一个A类型的字段,并在这个字段上加上@Delegate注解,这样,B类就可以直接调用sayHello()方法,就像它是自己的方法一样 

三、使用场景

1、我们在实际编码中,会产生大量重复性的代码或者方法,如果要将其提取出来,就得新建好多额外的类出来,而且还不好归类,有时候也会跨多层目录。那么这个时候,就可以通过这种方式,在不同的地方使用同一个方法。

2、当我们在编写业务代码的时候,通常会有service层和impl层,如果要抽出来方法的话,就必须得在service中新增接口方法,如果是不对外的情况下,这么添加,就会暴漏出去。如果采用@Delegate注解的方式,就不用有这个担心了。

四、使用注意事项

通过这种方式,去调用的方法,必须得是public修饰的。


总结

每天进步一点点!

http://www.lryc.cn/news/322595.html

相关文章:

  • 【C语言】对称密码——栅栏的加密和解密
  • 一、rv1126开发之视频输入和视频编码
  • 4.1 用源文件写汇编代码
  • Linux TCP参数——tcp_abort_on_overflow
  • jupyter notebook设置代码提示方法
  • Linux 一点查询资料
  • 如何快速搭建一个完整的vue2+element-ui的项目-二
  • 多语言LLM的状态:超越英语
  • kafka什么情况下会认为发送失败进而去重试
  • 不满足软件包要求‘transformers==4.30.2‘, ‘sse-starlette
  • C# 设置AutoScroll为true没效果的原因分析和解决办法
  • <Senior High School Math>: inequality question
  • 详解Python中Pytest和Unittest的区别
  • 零基础入门多媒体音频(1)-音频基础
  • 40 道高频 C++ 面试、笔试题及答案
  • 【07】进阶html5
  • Linux|centos7|postgresql数据库|yum和编译方式安装总结(全系版本)
  • C++提高笔记(五)---STL容器(set/multiset、map/multimap)
  • 详解main函数参数argc、argv及如何传参
  • 解释什么是Web组件化开发及其优势
  • 那些场景需要额外注意线程安全问题
  • (C语言)球球大作战
  • 高级数据结构 <AVL树>
  • 在springboot中利用Redis实现延迟队列
  • UpGrow评论:AI能将我的Instagram粉丝数增加10倍吗?
  • 申请软著提交的演示视频有什么要求
  • mac【启动elasticsearch报错:can not run elasticsearch as root
  • 面试算法-65-二叉树的层平均值
  • Linux: boot: latency启动延迟分析
  • QT界面制作