Ответы пользователя по тегу Java
  • Что скрывается за понятием сlass в ООП?

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

    Очень надуманный пример:
    Вы делаете текстовое поле в который вводится текст. Есть некий объект, метод которого вызывается каждый раз когда пользовательский интерфейс генерирует событие типа onChange на этом поле. Ваш объект анализирует текстовое поле и, если оно соответствует какому-то значению, делает нечто. Предположим что это нечно нужно сделать средствами других объектов в системе. У вас есть вариант - либо в вашем объекте вызывать их методы. Либо генерировать событие типа "onTextFieldSetTo" и тогда другие объекты могут слушать это событие и работать самостоятельно.
    Ответ написан
  • Что скрывается за понятием сlass в ООП?

    Не понятно, что имеете ввиду под "напрямую работать с объектом"...

    Класс позволяет собрать вместе (инкапсулировать) свойства (данные) и методы (код). В определении класса вы описываете какие типы данных (иногда и значения по умолчанию) и какой конкретно код. Далее, создавая (инстанцируя) объекты этого класса вы позволяете им иметь разные данные - этим они отличаются. Но поведение у них общее. Если конечно в методах вы не ветвите поведение в зависимости от свойств объекта. Но это было бы плохим решением. Лучше - создавать новые классы и наследовать их от исходного. А объекты инстанцировать уже от них.

    Работать напрямую с классом можно - если его методы и свойства статические. В таком случае класс обычно используется как библиотека функций и констант. Причем класс может совмещать в себе и статические и обычные поля.

    По конкретному коду я могу ошибаться, но вроде бы так:

    OnClickListener - класс. Вы создаете объект этого класса. Метод onClick привязывается где-то еще к событию щелчка по кнопке. В вашем коде вы просто переопределяете его поведение. В частности вызываете метод объекта tvOut.

    P.S. Возможно, что там, где вы читали, методы привязанные к событиям (пользовательского интерфейса и прочим) называют событиями.
    Ответ написан