Попытка разработать хорошую стратегию для решения моей проблемы. Проблема в том, что у меня есть конечный класс, который содержит частные конструкторы и статические методы. Чтобы использовать какой-либо из статических методов, я должен инициализировать экземпляр класса. Потому что у меня есть данные в конструкторе, которым нужны методы для работы.окончательный класс со статическими методами и частным конструктором?
Итак, почему я делаю методы статическими? Поскольку 1) проект настолько велик, что мне нужно, например, MyClass.AccessThis() и 2) проще, чем создать экземпляр и вызвать метод.
EDIT: Что я имею в виду с 2), если я превращу все свои методы в нестатический, открытый конструктор, то я могу создать экземпляр класса в любом классе и использовать мои методы.
EDIT 2: Итак, вот оно.
public final class StackOverFlow {
private static Map<String, String> map = new HashMap<String, String>();
private StackOverFlow() {
map.put("hello", "hello");
}
public static String getHello() {
return map.get("hello");
}
}
Я не могу, очевидно, получить данные, если я вызвать метод из другого класса по StackOverFlow.getHello(); потому что данные не существуют.
Мне интересно, есть ли хороший способ получить данные, не помещая данные в статический метод?
Пожалуйста, внесите свой код. – Timo
* Поскольку у меня есть данные в конструкторе, которые нужны статическим методам * - как вы собираетесь получать данные этого экземпляра с помощью метода * static *? Ваш вопрос не очень ясен, потому что он, по-видимому, основан на невозможной предпосылке. –
Я уверен, что вы делаете объектно-ориентированное программирование неправильно ...: D –