2013-09-07 2 views
0

Я пытаюсь понять этот код:нужна помощь в понимании классов и методов

@Override 
public void onActivityResult(int requestCode, int resultCode, Intent data) { 
    super.onActivityResult(requestCode, resultCode, data); 
    Session.getActiveSession().onActivityResult(this, requestCode, 
               resultCode, data); 
} 

вот что я понимаю: onActivityResult является метод с некоторыми параметрами

но что делает метод super.onActivityResult сделать ?

и я понятия не имею, что это значит: Session.getActiveSession().onActivityResult

Я попытался посмотреть через документацию оракула, но это только у меня больше запутывается ...

вы можете мне помочь?

+1

Взгляните на документацию от Android. Ключевое слово 'super' означает, что вы вызываете метод, как он реализован на суперклассе вашего класса. Что касается 'Session.getActiveSession(). OnActivityResult (this, requestCode, resultCode, data);' это цепочный вызов метода. 'Session' - это класс,' getActiveSession' - это статический метод, возвращающий объект сеанса, а 'onActivityResult' - это метод, вызываемый возвращенным объектом. – toniedzwiedz

+3

Вот почему я считаю, что важно сначала изучить Java, прежде чем вы начнете разрабатывать приложения для Android, по крайней мере, концепции oops! –

ответ

0

Поскольку onActivityResult() переопределяет другой метод, вызов super.onActivityResult() означает, что будет вызываться версия метода из родительского (расширенного) класса.

Наконец, Session.getActiveSession() вернет активный сеанс, который также является членом иерархии классов, и вызывает тот же метод с использованием его реализации.

0

super.onActivityResult() вызывает реализацию метода, найденную в суперклассе. Что касается вашего второго вопроса, то getActiveSession() является статическим методом в классе Session. Это означает, что вы можете вызвать метод, не создавая экземпляр класса.

+0

класс, в котором этот код находится, расширяет активность. поэтому, если я правильно поставил вас в класс активности, существует метод, называемый onActivityResult, и это тот, который будет использоваться? –

Смежные вопросы