Это общая практика кодирования использовать ссылки интерфейса/базовый класс при объявлении объекта типа:Java производительность
InterfaceIF ref = new SomeObject();
Я понимаю, что это обеспечивает свободную связь, и мы можем изменить/записи новый класс с новой реализацией, не затрагивая много кода.
Это прекрасно объяснил here also.
Но одна вещь, которую я стараюсь не в состоянии понять, и нет ответа на вопрос:
- ли производительность получает осуществляется с помощью интерфейса/базового класса Справка.
- Если да, то это влияет на положительные или отрицательные.
Почти 99,999% уверены, что производительность при использовании интерфейсов не влияет. Я не знаю, как это сделать. Почему вы думаете, что это повлияет на производительность? – mwhs
@mwhs: На самом деле. Это может быть очень много, поскольку виртуальный вызов довольно дорогостоящий, но JVM устраняет (почти?) Все эти накладные расходы. – maaartinus
Но если JVM устраняет накладные расходы, тогда затраты будут одинаковыми в конце концов, не так ли? – mwhs