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中,如果我沒有構造函數,則會出現以下編譯時錯誤:
Implicit super constructor Test() is undefined for default constructor. Must define an explicit constructor
為什么編譯器讓我這樣做?
解決方法:
(此問題與泛型無關.)
Test沒有默認(即無參數)構造函數.
因此,您的子類需要顯式調用您在Test中提供的單個構造函數. (由于這種模糊性,編譯器無法弄清楚要做什么 – 它如何知道要傳遞哪個參數 – 因此它會引發編譯時錯誤.)
標簽:java,subclass
來源: https://codeday.me/bug/20190831/1772024.html
總結
以上是生活随笔為你收集整理的java子类有参构造函数吗_为什么我需要在这个Java通用子类中有一个构造函数?...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java toregex_Java Re
- 下一篇: java和php设置的cookies_p