gpt4 book ai didi

java - 在 Java 中强制返回类型缩小?

转载 作者:搜寻专家 更新时间:2023-11-01 03:56:41 25 4
gpt4 key购买 nike

在 Java 中覆盖方法可以缩小返回类型。

但是否有可能在申报期间强制缩小范围?

例如,这在模式中可能很好,其中内部类与外部类同时被子类化:

public class Try_ForceNarrow {

public interface IMember {

}

public interface Container<M extends IMember> {
M createMember();
}

public static class A implements Container<A.Member> {

@Override
public Member createMember() {
return new Member();
}

public class Member implements IMember {
}
}

public static class B extends A implements Container<B.Member> {

@Override
public Member createMember() {
return new Member();
}

public class Member extends A.Member {

}

}

public static void main(String[] args) {

}

}

此代码编译失败,出现错误“接口(interface)容器不能用不同的参数实现多次”。

如何避免这种情况?

当然可以写

public static class B extends A  {

@Override
public Member createMember() {
return new Member();
}

public class Member extends A.Member {

}

}

但这样我就可以忘记覆盖 createMember() 并违反模式。

最佳答案

A<T> implements Container<T>呢? ?您可以根据需要进一步限制 T...

关于java - 在 Java 中强制返回类型缩小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27989729/

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