На первый взгляд, держу пари, что ни один из них не поддерживает никакого состояния и поэтому может быть безопасно объявлен static
. У меня также сложилось впечатление, что у каждого класса есть только один публичный метод, который выполняет только одну задачу одновременно. Это также звучит так, как будто они привязаны к конкретной платформе.
Если все вышеперечисленное верно, то у вас есть 2 варианта:
Просто сгруппируйте их все в класс public final class PowerTools
с помощью конструктора private
(чтобы его нельзя было создать) и public static
методов, каждый из которых выполняет нужную задачу. В конечном итоге вы можете использовать исходное имя класса в качестве имени метода.
Определите public interface PowerTools
, чтобы вы могли соответственно реализовать LinuxPowerTools
, WindowsPowerTools
, MacPowerTools
, и так далее и создать абстрактный PowerToolsFactory
для автоматического возврата желаемой реализации на основе текущей платформы можно использовать системное свойство os.name
, чтобы прослушать текущую платформу).
Если это только для хобби, достаточно варианта 1. Но вариант 2 более «профессиональный», если вы понимаете, о чем я.
Обновление : согласно вашему обновлению вы можете использовать для этого оператор import static
. Также смотрите этот Sun Tutorial .
1034 * Е.Г. *
import static java.lang.System.*;
public class Test {
public static void main(String... args) {
out.println("foo");
exit(-1);
}
}
Если у вас есть класс com.example.PowerTools
, содержащий методы public static
, вы можете импортировать его следующим образом:
import static com.example.PowerTools.*;
public class Test {
public static void main(String... args) {
if (isBinary(file)) {
// ...
}
saveToDisk(file);
}
}