我正在查看其他人的代码。
我看到一个类没有非静态字段,但其中大多数方法都是非静态的,要求您创建一个对象来访问有效静态操作的方法。
有没有可能的原因,我只是不理解?
编辑
有人问例子。这是更多信息。
例如,有一个文件管理器类。唯一的字段是静态的并且是比较器。有一些方法可以做一些事情,比如对列表中的文件进行排序、计数文件、复制文件、将文件移动到存档文件夹、删除超过特定时间的文件或创建文件(基本上将基本名称作为字符串,并返回一个带有给定基本名称和日期/时间的文件最后添加。) 9 个非静态方法 5 个静态方法 我看不出静态与非静态方法的特定押韵原因。
一件特别奇怪的事情是有两种删除文件的方法。一种无论如何都删除文件,另一种只有在文件为空时才删除。前者是静态方法,而后者不是。它们包含相同的确切代码,除了后面首先检查 file.length 是否为 0。
另一个奇怪的是一个进行加密的类——所有字段和方法都是静态的,但它有一个什么都不做的构造函数。还有一个 init() 方法,该方法检查静态变量是否包含自身的对象,如果不包含,则将自身的对象实例化到该字段中,然后该字段从未实际使用过。(这似乎是用很多类来完成的——init 方法在静态变量中检查自身的对象,如果不实例化自身)
private static File keyfile;
private static String KEYFILE = "enc.key";
private static Scrambler sc;
它具有加密和解密方法以及一些处理密钥和文件的方法。
这对任何人都有意义吗?我只是不明白这些东西的目的吗?还是看起来很奇怪?