方法重寫、方法重載、final修飾符


方法重載(兩同一不同)

  • 同一個類中,方法名相同,形參列表不同

至於返回值類型,訪問修飾符與方法重載沒有任何關系

可變參數列表

可變參數必須是最后一個參數
帶可變參數的方法最后被訪問(調用)
數組可以傳給可變參數,反之不行
同類型數組與可變參數無法構成方法重載
一個方法只能有一個可變參

方法重寫(兩同兩小一大)

  • 方法名 相同,形參列表 相同
  • 子類方法 返回值類型 必須比父類方法返回值類型“更小”或相等;
  • 子類方法 拋出的異常 比父類方法聲明拋出的異常“小”或相等
  • 子類方法的 訪問權限 比父類大或相等
  • 父類中靜態方法無法被子類重寫

當子類重寫了父類的方法后,子類對象將無法訪問父類中被重寫的方法,但是可以調用(super)

如果父類方法具有private訪問權限,該方法對子類是隱藏的,子類無法重寫

final修飾符

  • final不能修飾構造方法
  • final修飾類,該類不允許被繼承
  • 系統不會對 final修飾的成員變量(包括類變量和實例變量) 隱式的初始化
  • final修飾的局部變量在定義時可以不指定初始值,在之后的代碼中賦值且只能賦值一次
  • final修飾基本類型變量不能對基本類型變量重新賦值,final修飾引用類型變量,final只保證引用變量引用的地址不會改變
  • final修飾的成員變量必須顯示的指定初始值(只能在 非靜態初始化塊 或 聲明該實例變量 或 構造器 中指定初始值),
  • final修飾類變量,(必須且只能在) 靜態初始化塊中指定初始值 或 聲明該變量時指定初始值

不管是類變量還是實例變量還是局部變量,當滿足條件:

使用final修飾符

在定義該變量時指定了初始值

該初始值在編譯時就被確定下來

則該變量相當於一個直接量


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM