Переопределение на Java просто означает, что конкретный метод будет вызываться на основе типа времени выполнения объекта, а не его типа времени компиляции (что имеет место с переопределенными статическими методами). Поскольку статические методы являются методами класса, они не являются методами экземпляра, поэтому они не имеют никакого отношения к тому, какая ссылка указывает на какой объект или экземпляр, потому что из-за характера статического метода он относится к определенному классу. Вы можете обновить его в подклассе, но этот подкласс ничего не знает о статических методах родительского класса, поскольку, как я уже сказал, он специфичен только для того класса, в котором он был объявлен. Доступ к ним с использованием ссылок на объекты - это дополнительная свобода, предоставляемая разработчиками Java, и мы, конечно же, не должны останавливаться на этой практике, только когда они ограничивают ее более подробными сведениями и примером http://faisalbhagat.blogspot.com/2014/ 09 / способ-наиважнейшая-и-метод-hiding.html
Нет, это не утечка памяти. Фреймворк выделил объект SubItems
, и он освободил его, когда закончил его использовать.
Нет. Внутренне, TListView
поддерживает один физический объект TListItem
при работе в виртуальном режиме. Он повторно использует и очищает этот объект всякий раз, когда необходимо инициировать событие OnData
. Вам не нужно освобождать какие-либо данные TListItem
вручную.