第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Java 9 接口:為什么將默認(rèn)修飾符轉(zhuǎn)換為公共修飾符

Java 9 接口:為什么將默認(rèn)修飾符轉(zhuǎn)換為公共修飾符

江戶川亂折騰 2022-06-08 16:39:07
我的問題是關(guān)于interface. 我創(chuàng)建了一個接口并定義了四個方法:第一個方法是一個private方法;二是default方法;三是static方法;第四是abstract方法。編譯此接口并檢查其配置文件后:default方法被轉(zhuǎn)換為public方法,并且static和abstract方法都有一個前置public修飾符。為什么是這樣?代碼: interface InterfaceProfile {    private void privateM() {   //this method is hidden        System.out.println("private Method");    }    default void defaultM() {        System.out.println("Default Method");    }    static void staticM() {        System.out.println("Static Method");    }    void doStuff(); //by default adds the public modifier}接口配置文件類    D:\Linux\IDE\Workspace\OCA-Wrokspace\Ocaexam\src>javap mods\com\doubt\session\InterfaceProfile.classCompiled from "InterfaceProfile.java"interface com.doubt.session.InterfaceProfile {  public void defaultM();  public static void staticM();  public abstract void doStuff();}
查看完整描述

3 回答

?
森欄

TA貢獻(xiàn)1810條經(jīng)驗(yàn) 獲得超5個贊

它是一種方法的事實(shí)default并沒有什么不同。隱含范圍是public.

這是教程所說的:

接口中的所有抽象、默認(rèn)和靜態(tài)方法都是隱式公共的,因此您可以省略 public 修飾符。


查看完整回答
反對 回復(fù) 2022-06-08
?
梵蒂岡之花

TA貢獻(xiàn)1900條經(jīng)驗(yàn) 獲得超5個贊

簡單:默認(rèn)情況下,接口中的所有方法都是public。您可以通過應(yīng)用來限制private它,但只要您不這樣做,默認(rèn)值就會生效。因此:根本沒有發(fā)生轉(zhuǎn)換。

引用Java 語言規(guī)范

接口主體中的方法可以聲明為公共的或私有的(第 6.6 節(jié))。如果沒有給出訪問修飾符,則該方法是隱式公共的。允許但不鼓勵在接口中為方法聲明冗余地指定 public 修飾符。

(在接口中擁有私有方法的能力是在 Java 9 中引入的,因?yàn)槿藗儼l(fā)現(xiàn) Java 8 的默認(rèn)方法通常需要擁有這些默認(rèn)方法可以使用的私有方法,而不會使這些輔助方法公開可見)


查看完整回答
反對 回復(fù) 2022-06-08
?
翻過高山走不出你

TA貢獻(xiàn)1875條經(jīng)驗(yàn) 獲得超3個贊

默認(rèn)修飾符是公共的,因?yàn)檫@是定義接口聲明的方式: https ://docs.oracle.com/javase/tutorial/java/IandI/interfaceDef.html

如果你問這背后的原因,我認(rèn)為定義接口的目的是確保所有實(shí)現(xiàn)類的接口,這意味著所有實(shí)現(xiàn)類都有明確的約定,它們需要提供哪些公共可訪問方法.

向接口添加私有方法并不能滿足這個主要目的,而且似乎更像是一種實(shí)現(xiàn)提示。私有和抽象方法是對接口的后期添加。


查看完整回答
反對 回復(fù) 2022-06-08
  • 3 回答
  • 0 關(guān)注
  • 167 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號