[英]How to create specific class constructor
我有一個非常簡單的 Java JTable 問題。 我正在創建這個 class 以使我的應用程序的 rest 中的事情變得更容易。 運行時收到錯誤消息。 我知道錯誤的含義,但不知道還有什么可以嘗試的。
你會在代碼中看到我想要完成的事情:
我的 Class:
import javax.swing.*;
public class CPTable extends JScrollPane
{
private JTable table;
CPTable(Object [] headers, Object [][] data)
{
table = new JTable(data, headers);
this = new JScrollPane(table);//The line I can't figure out.
}
}
我的錯誤:(一個明顯的錯誤)
cannot assign a value to final variable this
this = new JScrollPane(table);
和
incompatible types
found : javax.swing.JScrollPane
required: CPTable
嘗試這個:
private CPTable(JTable table) {
super(table);
this.table = table;
}
public CPTable(Object[] headers, Object[][] data) {
this(new JTable(data, headers));
}
您不能重新分配this
,但您可以使用super
調用正確的超類構造函數(它必須是構造函數中的第一條語句)。
this
語句稱為“構造函數委托”——它鏈接到另一個構造函數,以便您可以將表傳遞給超類並將其分配給您的table
字段。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.