当前位置: 首页 > 面试题库 >

“此”参考在构建过程中转义?

梁丘璞瑜
2023-03-14
问题内容

如果我执行以下操作,

final class FooButton extends JButton{
    FooButton(){
        super("Foo");
        addActionListener(new ActionListener(){
            @Override
            public void actionPerformed(ActionEvent e){
                // do stuff
            }
        });
    }
}

我要让this引用隐式转义吗?


问题答案:

是的,因为在匿名内部类中,您可以这样访问它:

final class FooButton extends JButton {
    Foo() {
        super("Foo");
        addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                FooButton button = FooButton.this;
                // ... do something with the button
            }
        });
    }
}

ActionListener原则上,匿名对象的代码可以在对象完全初始化FooButton之前被调用并使用FooButton



 类似资料:
  • 警告 build 命令已被弃用。 请使用第三方构建工具(如webpack或grunt),或参考示例 Truffle Boxes 。 In order to provide tight integration with Truffle for those that desire it, Truffle allows you to specify a custom build pipeline mea

  • 问题内容: 我们需要能够在某些环境中跳过子模块。 有问题的模块包含集成测试,并且需要半小时才能运行。因此,我们希望在CI服务器上进行构建时将其包括在内,但是当开发人员在本地进行构建(并运行测试)时,我们希望跳过该模块。 有没有办法通过配置文件设置来做到这一点?我已经进行了一些谷歌搜索,并在这里查看了其他问题/答案,但没有找到一个好的解决方案。 我想一个选择是从父级中完全删除该子模块,然后在CI服务

  • 问题内容: 这是什么? 这是有关警告,错误和注意事项的许多答案,这些警告,错误和注意事项在您对PHP进行编程时可能会遇到,并且不知道如何解决它们。这也是一个社区Wiki,因此邀请所有人参与添加并维护此列表。 为什么是这样? 诸如“已发送标题”或“呼叫非对象成员”之类的问题经常在堆栈溢出中弹出。这些问题的根本原因总是相同的。因此,这些问题的答案通常会重复它们,然后向OP显示在特定情况下应更改的行。这

  • 本文向大家介绍PHP 通过参考,包括了PHP 通过参考的使用技巧和注意事项,需要的朋友参考一下 示例 这使您可以通过引用允许您修改原始变量的函数或元素来传递变量。 通过引用传递不仅限于变量,还可以通过引用传递以下内容: 新声明,例如 foo(new SomeClass) 从函数返回的引用 数组 “按引用传递”的常见用法是修改数组中的初始值,而不会涉及创建新数组或乱丢您的命名空间的程度。通过引用传递

  • 我有一个构建项目,在其中我实现了Cucumber BDD,并编写了功能文件和测试类。现在,我想要的是在构建过程中