default關鍵字

今天看android P源碼時發現新 關鍵字defaultandroid

//CommandQueueapp

    public interface Callbacks {
        default void setIcon(String slot, StatusBarIcon icon) { }
        default void removeIcon(String slot) { }
        default void disable(int state1, int state2, boolean animate) { }
        default void animateExpandNotificationsPanel() { }
        default void animateCollapsePanels(int flags) { }
        default void togglePanel() { }
        default void animateExpandSettingsPanel(String obj) { }
        default void setSystemUiVisibility(int vis, int fullscreenStackVis,
                int dockedStackVis, int mask, Rect fullscreenStackBounds, Rect dockedStackBounds) {
        }
        default void topAppWindowChanged(boolean visible) { }
        default void setImeWindowStatus(IBinder token, int vis, int backDisposition,
                boolean showImeSwitcher) { }
        default void showRecentApps(boolean triggeredFromAltTab) { }
        default void hideRecentApps(boolean triggeredFromAltTab, boolean triggeredFromHomeKey) { }
        default void toggleRecentApps() { }
        default void toggleSplitScreen() { }
        default void preloadRecentApps() { }
        default void dismissKeyboardShortcutsMenu() { }
        default void toggleKeyboardShortcutsMenu(int deviceId) { }
        default void cancelPreloadRecentApps() { }
        default void setWindowState(int window, int state) { }
        default void showScreenPinningRequest(int taskId) { }
        default void appTransitionPending(boolean forced) { }
        default void appTransitionCancelled() { }
        default void appTransitionStarting(long startTime, long duration, boolean forced) { }
        default void appTransitionFinished() { }
        default void showAssistDisclosure() { }
        default void startAssist(Bundle args) { }
        default void onCameraLaunchGestureDetected(int source) { }
        default void showPictureInPictureMenu() { }
        default void setTopAppHidesStatusBar(boolean topAppHidesStatusBar) { }less

        default void addQsTile(ComponentName tile) { }
        default void remQsTile(ComponentName tile) { }
        default void clickTile(ComponentName tile) { }ide

        default void handleSystemKey(int arg1) { }
        default void showPinningEnterExitToast(boolean entering) { }
        default void showPinningEscapeToast() { }
        default void handleShowGlobalActionsMenu() { }
        default void handleShowShutdownUi(boolean isReboot, String reason) { }繼承

        default void showWirelessChargingAnimation(int batteryLevel) {  }token

        default void onRotationProposal(int rotation, boolean isValid) { }接口

        default void showFingerprintDialog(Bundle bundle, IBiometricPromptReceiver receiver) { }
        default void onFingerprintAuthenticated() { }
        default void onFingerprintHelp(String message) { }
        default void onFingerprintError(String error) { }
        default void hideFingerprintDialog() { }
    }rem

 

正常狀況下源碼

interface方法是沒有方法體的,繼承該接口必需要實現。it

default 定義的接口須要有方法體, 繼承能夠不用實現,假如沒有實現,走剛開始定義的方法體。

 

至關於定義了不少接口,可能只用了須要一個,不用一一實現。

相關文章
相關標籤/搜索