Почему я не могу добраться до методов внутреннего класса в Java? - PullRequest
0 голосов
/ 03 апреля 2012

У меня есть структура, подобная этой:

 class OuterClass{
        AnimatorListener sth;
        public OuterClass(){
             sth = new InnerClass();
        }
        public class InnerClass implements AnimatorListener{
             public InnerClass(){}
             public void doSomething(){}
             //assuming animator listener methods implemented
        }
        public void tryingToDoSomething(){
             sth.doSomething();   //I cannot use this, simply it is not seen by eclipse.
        }
    }

Почему я не могу вызвать doSomething() метод объекта sth, пока я tryingToDoSomething()?

Ответы [ 2 ]

1 голос
/ 03 апреля 2012

Ваш объект sth принадлежит классу AnimatorListener, но он должен принадлежать InnerClass. Надеюсь, это поможет, счастливое кодирование.

1 голос
/ 03 апреля 2012

изменить синтаксис вашего конструктора.Это неправильно

public OuterClass{
         sth = new InnerClass();
    }

изменить это на

public OuterClass(){
         sth = new InnerClass();
    }
...