1. 程式人生 > >關於實現類實現介面之後,eclipse沒有紅線提示實現類去實現介面中的方法的問題

關於實現類實現介面之後,eclipse沒有紅線提示實現類去實現介面中的方法的問題

實現類AccessTokenListener實現了介面ServletContextListener,但是eclipse卻沒有紅線提示實現類AccessTokenListener去實現介面的方法。

import javax.servlet.ServletContextListener;

public class AccessTokenListener implements ServletContextListener

於是我點開介面ServletContextListener看一下是不是接口裡面沒有方法,顯示如下:

package javax.servlet;

import java.util.EventListener;

public interface ServletContextListener extends EventListener {

    public default void contextInitialized(ServletContextEvent sce) {
    }

    public default void contextDestroyed(ServletContextEvent sce) {
    }
}

大家可以看到此介面中總共有兩個方法,那為什麼eclipse不提示實現類去實現這個介面的方法呢?

我們仔細看一下,介面的兩個方法中,每個方法前面都有一個default修飾符,後來我查了一下,原來這是JDK1.8的新特性,就是說JDK1.8以後,介面中的方法可以使default預設方法,所以實現類可以不用實現,不過,如果有必要的話,實現類也是可以重寫這種方法的。