Я создаю простое текстовое интерактивное приложение, в котором пользователю предлагается ввести данные.Каждый вход соответствует определенной команде, которая вызывает определенный метод.Поскольку существует много методов, я решил распределить их по разным классам.Таким образом, приложение работает так:
Основной класс отвечает за чтение пользовательского ввода (используя объект Scanner).Пользовательский ввод затем передается в качестве параметра методу B в классе B, который решает, какой команде соответствует ввод.После принятия решения метод вызывает правильный метод, который может быть в любом из других классов (в этом примере метод C в классе C)
Это означает, что мне нужно инициализировать экземпляры объекта, чтобы избежать нулевогоисключение указателя.У одного из классов, из которого мне нужно инициализировать объект, есть только конструктор с параметрами, но я на самом деле не хочу инициализировать объект значениями в этом случае, а только использовать его в качестве указателя на объект, поэтому яможет вызывать методы из этого класса.Теперь я использую пустой конструктор, чтобы решить эту проблему, но есть ли альтернатива, лучшее решение, чем объявление пустого конструктора?Я написал код, который, как мне кажется, демонстрирует мою проблему:
public class MainClass {
ClassB classB = new ClassB();
public void methodA {
classB.methodB(userInput);
}
}
public class ClassB {
ClassC classC = new ClassC();
public void methodB {
classC.methodC();
}
}
public class ClassC {
String name;
int age;
public ClassC(String name, int age) {
this.name = name;
this.age = age;
}
public ClassC() {
}
public void methodC() {
// Do something
}
}