java - 用很多方法扩展类并隐藏其中的大部分

标签 java

我正在创建一个自定义 JDialog 类,我想知道如何隐藏我不希望别人更改的所有方法?

作为“结果”,我只希望真正重要的方法可见。

例如

public class TestDialog extends JDialog {
    public void setProgress(int p) {}
}

当有人想使用这个对话框时,他看到的只是:

testDialog.setProgress // suggested from eclipse

更新:如果不清楚,我想隐藏 JDialog 中的所有方法

最佳答案

您可以创建一个自己的类,该类不扩展 JDialog,但包含一个。

示例:

public class MyDialog{

    private JDialog dia = null;

    public MyDialog() {
        //init dialog
    }

    //your methods, ...

    public void setXYZ(int a) {
        dia.setXYZ(a);
    }

}

这样你只需要实现你想要可见的方法。

编辑

为了更好地理解,请查看不同的设计模式(例如: deligation patternadapter pattern )

关于java - 用很多方法扩展类并隐藏其中的大部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42622763/

相关文章:

java - 如何读取一个txt文件

java - 如何提高从 hazelcast 读取数据的 Get 方法性能?

java - 如何使用查询从数据库中获取数据 - Service Builder

java - 自定义谓词有时会返回随机结果

java - 如何在 PPA 中安装旧的 java 版本?

java - 日期相减得到天数差。如何减去它们?

java - 适用于 Java : return desirable value from method during debug 的 IntelliJ IDEA 调试器

java - 使用 java 验证 .wsdl 文件的 API

java - base64 中的 PHP SHA256 校验和与 Java 相匹配

java - 为什么 String.valueOf(null) 会抛出 NullPointerException?