Родительский и дочерний классы, реализующие общий интерфейс, неоднократно - PullRequest
2 голосов
/ 06 июля 2011

Сегодня я нашел в своих кодах то, что кажется дочерним классом, реализующим интерфейс, который родительский класс уже наследует.

Могу ли я знать, имеет ли это какие-либо неблагоприятные побочные эффекты или намерения, поскольку я работаючтобы удалить его из дочернего класса, поскольку я считаю, что это могло быть случайной ошибкой или, может быть, я что-то упустил?

В дочернем классе:

public class ProductServiceBean
  extends GenericSessionBean
  implements javax.ejb.SessionBean

В родительском классе:

// Compiled from GenericSessionBean.java (version 1.2 : 46.0, super bit)
public abstract class weblogic.ejb.GenericSessionBean 
  extends weblogic.ejb.GenericEnterpriseBean 
  implements javax.ejb.SessionBean

Обратите внимание, что как дочерние, так и родительские классы реализуют javax.ejb.SessionBean.

Ответы [ 2 ]

3 голосов
/ 06 июля 2011

Тот факт, что дочерний и родительский компоненты реализуют один и тот же интерфейс, не имеет никакого дополнительного эффекта.Это эквивалентно тому, что родительский объект реализует только этот интерфейс.

3 голосов
/ 06 июля 2011

Удаление implements javax.ejb.SessionBean только из класс ProductServiceBean не будет иметь никакого эффекта, поскольку тот факт, что класс реализует интерфейс, унаследован от родительского GenericSessionBean класса.

Также нет вреда, если вы включите его в дочерний класс, это просто избыточная декларация.

...