gpt4 book ai didi

java - 具有通用参数的接口(interface) - 无法编译

转载 作者:行者123 更新时间:2023-12-02 00:19:06 26 4
gpt4 key购买 nike

我有一个像这样的界面:

public interface MyInterface<E extends Something1> {
public void meth1(MyClass1<E> x);
}

我有一个子类,其父类(super class)实现了上述接口(interface):

public class MyClass2<E extends Something1> extends Superclass{

public MyClass2(){

}

public void meth1(MyClass1 x) {
// TODO Auto-generated method stub

}
}

父类(super class):

public abstract class Superclass<E extends Something1> implements MyInterface{
MyClass1<E> x;
protected E y;

public Superclass(){

}
}

我的类(class)1:

public abstract class Myclass1<E extends Something1> {

public Myclass1(){

}
}

问题是 meth1() 的参数应该是通用的。如果我使用 MyClass1,它不喜欢它,并且我可以编译它的唯一方法是省略通用参数 - 这感觉是错误的。

出了什么问题?

最佳答案

以下是您的类现在已适当参数化:

class Something1 { }

public interface MyInterface<E extends Something1> {
public void meth1(MyClass1<E> x);
}

// and I have a subclass whose superclass implements the above interface:
public class MyClass2<E extends Something1>
extends Superclass<E> {

public MyClass2() { }

public void meth1(MyClass1<E> x) { }
}

// superclass:
public abstract class Superclass<E extends Something1> implements
MyInterface<E> {
MyClass1<E> x;
protected E y;

public Superclass() { }
}

// MyClass1:
public abstract class MyClass1<E extends Something1> {

public MyClass1() {

}
}

关于java - 具有通用参数的接口(interface) - 无法编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11384087/

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