【发布时间】:2019-07-09 00:56:46
【问题描述】:
我有这些课程: - A 类是一个接口,只有一个带有类型参数的抽象方法“M1” - B 类实现 A - C类是抽象类 - D 类扩展 C 类
在 B 类上,我覆盖方法 M1 并尝试创建一个 C 对象,但它不起作用
public interface A{
public abstract <R> void M1(int a, int b, R ress);
}
public class B implements A{
public <B> void M1(int a, int b, B ress){
D itsd = new D(int a, int b, ress);
}
}
public abstract class C{
int a, b;
public C(int a, int b){
this.a=a;
this.b=b;
}
}
public class D extends C{
B c;
public D(int a, int b, B c){
super(a, b);
this.c=c;
}
}
我收到这个建议的错误:Change Constructor D(int a, int b, B c) to D(int a, int b, B c) idk 为什么,如果这个问题对你来说很明显,我很抱歉,但我所有这些类型化方法的新手
【问题讨论】:
-
B c并不总是与B ress相同的类型。您可以尝试为c变量参数化D类或其构造函数。
标签: java function types parameters