0
我探討一些示例代碼,我發現下面的代碼:Java靜態訪問超級
一個login服務接口:
public interface LoginService extends Serializable {
default boolean isLoggedIn (final HttpServletRequest req) {
return null != PortalUtil.getUserId(req);
}
}
一個LoginServiceFactory其中包含實現login服務
嵌套LoginServiceImpl類public class LoginServiceFactory implements Serializable {
private volatile LoginService loginService = null;
private final class LoginServiceImpl implements LoginService {
@Override
public boolean isLoggedIn(final HttpServletRequest req) {
/** this is the part I don't understand */
return LoginService.super.isLoggedIn(req);
}
}
}
我不明白在LoginService.super.isLoggedIn(req)
中調用哪種方法。根據我的理解,它叫isLoggedIn(req)
接口LoginService
的超級接口。但我認爲這是不對的,因爲超級界面是Serializable
。有人能幫助我嗎?
編輯 我已經編輯完整的示例我的問題。我不認爲它是真的重複,因爲這個例子比我在這個網站上找到的更復雜一點。
它不是一個靜態引用,正如它的更多的是「完全合格」的參考。 – Rogue
這不是靜態訪問,它只是一個限定符,明確說明你想要訪問什麼類。當試圖從內部類中引用外部類時非常有用。 – 4castle
如果您查看發生此通話的上下文,它會幫助您(和我們)找到解釋。 –