我对这个包含内部类的变量有疑问:
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"));
有人可以帮助我吗?
答案 0 :(得分:5)
putValue()是一个带有2个参数的方法,第一个参数似乎是某种常量,在outer
或inner
类中定义(我假设这是因为它都是资本字母)和第二个参数
_("log-out")
是对名为......的函数的函数调用:
_(String arg1) // having _ as a function name is terribly a bad practice btw.
因此_("log-out")
行中的putValue(Action.NAME, _("log-out"));
将替换为名为_(String arg1)
的函数返回的值
答案 1 :(得分:4)
我想下划线会引起你的注意。
由于_
是在方法名称中使用的有效字符,所以
_("log-out")
可能是某些_(String s)
方法的调用,在其他地方声明。
哦,不要写那种方法......