Java知識點梳理——繼承


1、定義:繼承允許創建分等級層次的類,就是子類繼承父類的特征行為,使得子類對象具有父類實例的方法,
      使得子類具有父類相同的行為。

2、繼承的特性:

  a、子類擁有父類非priavte的屬性、方法;

  b、子類可以擁有自己的屬性和方法、即子類可以對父類進行擴展;

  c、子類可以用自己的方式實現父類的方法;

  d、java的繼承是單繼承,但是可以多重繼承;單繼承:一個子類只可以繼承一個父類;多重繼承:A類繼承
     B類,B類繼承C類,即C類是B類的父類,B類是A類的父類;

  e、繼承提高了類之間的耦合性(繼承的缺點,提高了代碼間的聯系)

3、extends關鍵字:類的繼承是單一繼承,一個子類只能擁有一個父類,extends只能繼承一個類

1 public class A { 
2     public A() { 
3         System.out.println("hello world");
4     } 
5 } 
6 // B子類繼承A父類(extends只能繼承一個類)
7 public class B extends  A{
8 }

4、implements關鍵字:implements使類可以繼承多個接口,多個接口用逗號分隔

1 public interface A {
2     public void sayA();
3 } 
4 public interface B {
5     public void sayB();
6 }
7 // C子類繼承A、B多個接口(implements使類可以繼承多個接口,多個接口用逗號分隔)
8 public class C implements A,B {
9 }

5、super關鍵字:用來引用當前對象的父類,實現對父類成員的訪問;

6、this關鍵字:當前對象的引用;

7、final關鍵字:聲明類不能被繼承,即最終類,修飾方法不能被子類重寫;

  a、語法: final class 類名 {  方法、屬性 }    
         訪問修飾符(public、private、default、protected)  final  返回值類型   方法名(參數){  方法體  }

  b、實例變量也可以被定義為 final,被定義為 final 的變量不能被修改;被聲明為 final 類的方法自動地聲明
     為final,但是實例變量並不是 final;

  c、訪問修飾符

    public——對所有類可見,被聲明為 public 的類、方法、構造方法和接口能夠被任何其他類訪問;

    private——在同一類中可見 不能修飾類(外部類),被聲明為 private 的方法、變量和構造方法只能被
      所屬類訪問;

    default——在同一包內可見;

    protected——對同一包內的類和所有子類可見 不能修飾類(外部類)

  d、非訪問修飾符

    static——用來修飾類方法和類變量;

    final——用來修飾類、方法和變量,final 修飾的類不能夠被繼承,修飾的方法不能被繼承類重新定義,
      修飾的變量為常量,是不可修改的;

    abstract——用來創建抽象類和抽象方法;

    synchronized、volatile——主要用於線程的編程,synchronized 關鍵字聲明的方法同一時間只能被一
      個線程訪問;

8、構造器:子類不能繼承父類的構造器(構造方法、構造函數),如果父類的構造器帶有參數,子類的構造器
       中必須顯示的通過super關鍵字調用父類的構造器(帶參數);如果父類的構造器不帶有參數,不需
       要子類顯示調用,系統會自動調用


免責聲明!

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



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