gpt4 book ai didi

java - 内部类默认为 "sensible"接口(interface)?

转载 作者:行者123 更新时间:2023-11-30 09:46:08 25 4
gpt4 key购买 nike

我正在扩展现有内部框架的一部分。框架的某些部分使用包含内部类的接口(interface)定义。接口(interface)用作注释的参数值,内部类作为默认值提供。界面如下所示:

public interface Adapter<X,Y> {

static final class IDENTITY implements Adapter<Object, Object> {
@Override
public Object transform(Object x) {
return x;
}
@Override
public Object inverse(Object y) {
return y;
}
}

public Y transform(X x);
public X inverse(y y);
}

这是用法:

public @interface Adapt {
Class<? extends Adapter<?, ?>> with() default Adapter.IDENTITY.class;
}

虽然用法看起来很整洁,但这种构造似乎违背了 Java 接口(interface)的“契约”概念,并且对于下一个必须处理代码的开发人员来说可能是违反直觉的。

在这种情况下,最佳做法是什么?

最佳答案

这是最佳实践。还有一些实例,其中静态最终内部类包含一些执行 f.e. 的静态方法。找到一个特定的实例。

编辑:请记住,接口(interface)和内部类是两种完全不同的类型,后者只是与前者有一个共同的前缀。

关于java - 内部类默认为 "sensible"接口(interface)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7284772/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com