通过source-Override /实现方法粘贴方法调用eclipse中的覆盖方法。为什么?

时间:2014-01-03 21:01:12

标签: java eclipse override

我希望这不是重复,因为我没有找到答案。只有引用c ++析构函数的东西,但我对此一无所知。无论如何,我习惯于在我自己的萌芽上覆盖我的方法以加快进程我现在采用eclipse源码覆盖/实现方法,我不明白为什么 eclipse自动粘贴

 super.method(event);

进入我的代码,为什么eclipse会为我做这个?它实际上做了什么吗?无论如何我已经调用了这个方法,为什么它必须在那里两次我不明白。 我的意思是:

    someJlabel.addMouseListener(new MouseAdapter() {

        @Override
        public void mouseEntered(MouseEvent e) {
            // TODO Auto-generated method stub
            super.mouseEntered(e); // <-- 
        }

    });

我已经知道,如果我没有它,一切正常,如果我也这样做。所以,如果有人能向我解释这一点,我会非常高兴它是一个小事我想知道它是怎么回事。

2 个答案:

答案 0 :(得分:2)

super.mouseEntered(e);调用方法mouseEntered(),因为它在MouseAdapter的父类中定义。所以这不是两次调用的方法。

在重写方法时,您经常调用super方法(例如在构造函数中调用super),然后您可以执行一些其他操作。如果你只在那里留下super.method(),那么它的行为就像你根本没有覆盖它一样。

答案 1 :(得分:1)

这将调用super / parent类中具有相同名称的方法。通常,如果要将该调用包含在父类中,则由您决定。 Eclipse只是建议它。如果父类中的那个方法什么都不做(例如有一个空体),那么纯粹实际上看,如果你在derived / child类中添加这个调用并不重要。但是如果父类中的方法做了一些有用的事情,那么包含该调用有时是个好主意,因为你也会获得父类行为。这就是Eclipse建议你这样做的原因。