java 類、接口基礎知識

Java中 private、protected、public和default的區(qū)別

作用域 當前類 同一包類 子孫類 其他包
public Y Y Y Y
protected Y Y Y N
default Y Y N N
private Y N N N

類似于倒三角形的樣子
注意

  • 上面說的是類的方法屬性作用域,default是類屬性的默認修飾符。
  • 接口的屬性和方法只有public 和default 修飾詞。而接口的默認屬性是默認是public static final ,方法是public abstract。
  • 新建類的修飾符只有public和默認不選(表示同包可訪問),在內(nèi)部類中可以有其他修飾符

override 和 overload

  • override 重寫,表示子類重寫了父類的方法

    • 方法名、參數(shù)、返回值相同
    • 子類方法不能縮小父類的訪問權(quán)限
    • 子類方法不能拋出比父類方法更多的異常,但可以不拋出異常
    • 方法被定義成final,static 不能被重寫
  • overload 重載 一個類定義多個同名的方法

    • 參數(shù)類型,個數(shù)不對應
    • 不能通過訪問權(quán)限、返回類型、拋出的異常進行重載

注意:static方法 官網(wǎng)推薦是直接用類名調(diào)用。

接口 interface

在Java8 中接口也可以定義默認方法與靜態(tài)方法

import java.util.function.Supplier;

public class testInterfaceMethodes {
    private interface Defaulable {
        // Interfaces now allow default methods, the implementer may or 
        // may not implement (override) them.
        default String notRequired() { 
            return "Default implementation"; 
        }        
    }
    private static class DefaultableImpl implements Defaulable {
    }
    private static class OverridableImpl implements Defaulable {
        @Override
        public String notRequired() {
            return "Overridden implementation";
        }
    }
    private interface DefaulableFactory {
        // Interfaces now allow static methods
        public static Defaulable create( Supplier< Defaulable > supplier ) {
            return supplier.get();
        }
    }
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Defaulable defaulable = DefaulableFactory.create( DefaultableImpl::new );
        System.out.println( defaulable.notRequired() );
             
        defaulable = DefaulableFactory.create( OverridableImpl::new );
        System.out.println( defaulable.notRequired() );

    }

}

==>執(zhí)行結(jié)果
Default implementation
Overridden implementation


上一篇文章 java 基礎知識總結(jié)

如有什么不對的地方,歡迎大家指出來,我們共同學習??!
接下來會寫關(guān)于集合類相關(guān)的文章,謝謝大家關(guān)注

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容