簡體   English   中英

如何創建特定的 class 構造函數

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM