Что есть этот super.methode()? Это банально вызов метода из базового класса, Со всеми накладными расходами? Или это синтаксический сахар от компилятора?
Ибо вычитал:
Цитата:
Сообщение от Psycho Tiger
Насчёт this везде ещё соглашусь, однако с точки зрения ООП super всё таки при вызове методов суперкласса писать нужно. Байткод разный получается, так что... лучше переучиваться 
|
Байткод разный потому что так - мы работаем с конкретной функцией, а если явно не указали то в рантайме идёт нисходящий поиск по родителям? По хранимым (а они хранятся, насколько я знаю) именам методов классов?
Кроме того там же вычитал про медленность конструктора. Мол он каждый раз просчитывается.
Цитата:
Сообщение от wvxvw
Вообще, в конструкторе лучше либо ничего не писать, либо самый минимум. Конструктор - это самая медленная функция в классе изза того, что каждый раз она по-новому прочитывается (остальные функции раз скомпилировали JIT'oм и используем готовые). Да и ограничения на порядок вызова тоже не самое лучшее - вобщем, если в конструкторе нужна какая-то логика, легче ее всю завернуть в отдельную функцию и вызвать из конструктора чем потом сталкиваться с подобного рода проблемами.
|
Вообще, поделитесь, люди умные инфой где ТАКОЕ можно найти, или на какие грабли лучше не наступать. И вообще за я почему-то считаю, что программист обязан разбираться не только в том что происходит, но и в том как... Хотя бы простейшем уровне. Вот только спрятали всё это, не найду, поделитесь пожалуйста хотя бы ссылочками. Благодарю.