繁体   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