Вызов внешнего класса из внутреннего класса с потоком в MVC

Я использую модель MVC и пытаюсь создать поток в контроллере. Когда я во внутреннем классе run(), мне нужно получить правильную модель, но она выбрасывает нулевой указатель.

Вот код для создания внутреннего класса и потока из внешнего контроллера:

Thread thread = new Thread(new runWithThread(OpsSec, AmToChange, AgentID, balance, currency, selected_account_obj));
thread.start();

Внутри runWithThread я пытаюсь получить правильную модель. AMModel - это класс Model, аозначение - это метод внутри него. getModel определен в абстрактном контроллере, который я расширяю (наследование реализации).

((AMModel)getModel()).withdraw(10, "USD");

Он работает во внешнем классе, но не во внутреннем, и я не уверен, почему я получаю нулевой указатель с помощью ((AMModel)getModel()). Любая помощь будет оценена. Спасибо

2 ответа

Я понял ошибку. У меня был "extends AbstractController" как во внешнем классе контроллера, так и во внутреннем классе runWithThread. Я использую Rational Arch, и он ничего не помечал, поэтому я не заметил ошибку.

Я знаю, что это довольно старый, но попробуйте AMModel.this.withdraw(10, "USD");, Вот общий пример:

class Outer
{
    class Inner
    {
        public void test()
        {
            Outer.this.variable = 1;
        }
    }
    public int variable = 0;
    private Inner inner;
}

После звонка inner.test(), variable было бы 1,

Другие вопросы по тегам