Ваш ответ в рамках вашего вопроса - «Как я могу использовать экземпляр класса класса, созданного другим классом?»
Чтобы использовать экземпляр, вам сначала нужно его создать. У вас есть следующие строки ...
Login login;
Это не создает экземпляр, он просто объявляет переменный как способной проведения объекта типа Login
. Когда вы пишете эту строку, это просто указатель на null
, пока вы не назовете любой из этих ...
login = new Login();
Login login = new Login();
Это создаст новый экземпляр класса, который затем позволяет вам доступ к методам в нем, например, login.getPortalHandler();
Если вам нужно сохранить PortalHandler
для использования после того, как вы закончите с Login
объект, вы должны получить ссылку на PortalHandler
перед очисткой объекта Login
.
Например ...
PortalHandler portalHandler;
public void doLogin(){
Login login = new Login();
login.performLogin();
portalHandler = login.getPortalHandler();
}
В этом примере экземпляр Войти существует только для длины doLogin()
метода, после чего он больше не является допустимым объектом. Однако перед тем, как вы закончили, вы взяли ссылку на объект PortalHandler
, и они сохранили его как глобальную переменную, поэтому вы сможете продолжать использовать PortalHandler
всякий раз, когда захотите.
Поскольку вы никогда не создавали экземпляр класса Login! Таким образом, он будет равен нулю. Решение - это создание регистрационного экземпляра, например: 'Login login = new Login();' –