java - 这个包含内部类的变量到底做什么?

标签 java oop inner-classes

我对这个包含内部类的变量有疑问:

private final Action actionLogOut = new AbstractAction() {
    {
        putValue(Action.NAME, _("log-out"));
    }

    @Override
    public void actionPerformed(ActionEvent e)
    {
        System.out.println("logOutButton clicked !!!");
        System.exit(0);
    }
};

我的问题是我无法理解这行代码到底做了什么:

putValue(Action.NAME, _("log-out"));

有人可以帮助我吗?

最佳答案

putValue() 是一个具有 2 个参数的方法,第一个参数似乎是某种常量,在 outerinner 类中定义(我假设这是因为它都是大写字母)和第二个参数

_("log-out")

是对名为...的函数的函数调用,如下所示:

_(String arg1) // having _ as a function name is terribly a bad practice btw.

因此 putValue(Action.NAME, _("log-out")); 行中的 _("log-out") 将被替换为从名为 _(String arg1)

的函数返回的值

关于java - 这个包含内部类的变量到底做什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19931285/

相关文章:

java - 在 VMware 中使用 Windows-Server(2003/2008) 测试 Java 中的 LDAP 应用程序

java - 扫描器 hasNext(String pattern) 错误地返回 true

typescript - 在 typescript 中引用内部类

java - 将新行放入 mysql 表时放入 Response.created 的 URI

java - JDBC 中的正则表达式

c# - 依赖注入(inject)导致工厂激增?

c# - 获取在 C# 和 asp.net MVC 2 或 3 中返回 json 的方法

oop - OO 封装 - 对象转换为 "innards"

java - 使用 maven2 删除嵌套的测试类

Java - 在内部类的子类中绑定(bind)通用类参数