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

【每天学个新注解】Day 13 Lombok注解简解(十二)—@Delegate

@Delegate

将其他类的方法注入当前类

1、如何使用

  • 加在需要委托其它类实现的类上或者方法上。
  • 可以通过使用@Delegate(excludes=SomeType.class)参数来排除已排除的类型及其父类型中的所有公共方法。
  • 要非常精确地控制委托和不委托的内容,请使用方法签名编写私有内部接口,然后将这些私有内部接口指定为@Delegate(types=PrivateInnerInterfaceWithIncludesList.class, excludes=SameForExcludes.class)。

2、代码示例

例:

public class A {
    public void sayHelloA() {
        System.out.println("Hello");
    }
}
public class B {
    @Delegate(types = A.class)
    private A a;

    public void sayHelloB() {
        this.sayHelloA();
    }
}

编译后:可以很清晰的看出,编译后还是重写了一个同名的方法供委托类调用。

public class B {
    private A a;

    public B() {
    }

    public void sayHelloB() {
        this.sayHelloA();
    }

    @Generated
    public void sayHelloA() {
        this.a.sayHelloA();
    }
}

http://www.kler.cn/news/330205.html

相关文章:

  • Flink从ck拉起任务脚本
  • Netty系列-7 Netty编解码器
  • CSP-J模拟赛一补题报告
  • SQL:函数以及约束
  • 【分布式微服务云原生】详解Redis的主从模式,主服务器挂了如何从多个从服务器选出新的主服务器
  • Charles(青花瓷)抓取https请求
  • 基于Hive和Hadoop的共享单车分析系统
  • 【AI知识点】余弦相似度(Cosine Similarity)
  • HCIP-HarmonyOS Application Developer 习题(四)
  • 5G-A和F5G-A,对于AI意味着什么?
  • 【MySQL】MVCC及其实现原理
  • (28)oracle数据迁移(容器)-部署包资源
  • Linux驱动开发(速记版)--设备树
  • 滚雪球学Oracle[2.3讲]:Oracle Listener配置与管理
  • 路由交换实验指南
  • MongoDB的安装与增删改查基本操作
  • Mars的xlog与Logan
  • JMeter中线程组、HTTP请求的常见参数解释
  • 欧科云链OKLink相约TOKEN2049:更全面、多元与安全
  • scrapy爬虫基础