我创建了一个公共的“Utils”类,在其中放置了一些常用的静态方法。在那个 Utils 类中,我创建了一个私有静态内部类,它是 Utils 提供的一些“工具”。(该工具是满足我需要的某种解析器)。Utils 中的方法之一,返回该解析器的新实例,一切正常。“问题”是我收到警告,对于解析器内的每个公共方法,不是从包含的 Utils 类调用的。
这是它的外观骨架:
public class Utils
{
public static Parser(String[] msgs) throws Exception
{
return Parser.create(msgs);
}
private static class Parser
{
/** fields... **/
private Parser()
{}
public static Parser create(String[] msgs) throws Exception
{
Parser parser = new Parser();
setupParser(msgs);
return parser;
}
private static void setupParser(String[] msgs) throws Exception
{ // do stuff
}
public boolean someInnerMethod(String key)
{
// do stuff
}
}
}
该方法someInnerMethod
引发警告:
来自 Utils.Parser 类型的方法 someInnerMethod(String) 永远不会在本地使用
难道我做错了什么?有没有更好的方法来做我在这里所做的事情?我通常希望 Parser 不能从外部访问,但可以使用静态方法来获取它(我不想在每次需要它的方法时实例化 Utils 类)
提前致谢。