我对这个包含内部类的变量有疑问:
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 个参数的方法,第一个参数似乎是某种常量,在 outer
或 inner
类中定义(我假设这是因为它都是大写字母)和第二个参数
_("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/