java子类有参构造函数吗_为什么我需要在这个Java通用子类中有一个构造函数?...
我正在使用Java泛型.這是一個代碼示例,后跟問題.
public class Test> {
T data;
public Test(T data) {
this.data = data;
}
public T getData() {
return this.data;
}
}
class MyClass> extends Test {
//if I remove this constructor, code will not compile
public MyClass(T data) {
super(data);
}
}
在MyClass中,如果我沒有構造函數(shù),則會出現(xiàn)以下編譯時錯誤:
Implicit super constructor Test() is undefined for default constructor. Must define an explicit constructor
為什么編譯器讓我這樣做?
解決方法:
(此問題與泛型無關.)
Test沒有默認(即無參數(shù))構造函數(shù).
因此,您的子類需要顯式調用您在Test中提供的單個構造函數(shù). (由于這種模糊性,編譯器無法弄清楚要做什么 – 它如何知道要傳遞哪個參數(shù) – 因此它會引發(fā)編譯時錯誤.)
標簽:java,subclass
來源: https://codeday.me/bug/20190831/1772024.html
總結
以上是生活随笔為你收集整理的java子类有参构造函数吗_为什么我需要在这个Java通用子类中有一个构造函数?...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java toregex_Java Re
- 下一篇: 数据在java中加时间,如何在Or.jF