關於實現類實現介面之後,eclipse沒有紅線提示實現類去實現介面中的方法的問題
阿新 • • 發佈:2018-12-13
實現類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預設方法,所以實現類可以不用實現,不過,如果有必要的話,實現類也是可以重寫這種方法的。