天天看點

Java 學習筆記 (3) -抽象類 abstract 接口 interface 内部類 inner class 繼承 extends 實作 implements 包 package

 抽象類 關鍵字 abstract

被關鍵字abstract聲明的抽象類不能被執行個體化 抽象類中被abstrct聲明的方法是抽象方法。抽象方法即尚未實作的方法,必然會被其子類重載(Over Load)

抽象類聲明示例

Java 學習筆記 (3) -抽象類 abstract 接口 interface 内部類 inner class 繼承 extends 實作 implements 包 package
Java 學習筆記 (3) -抽象類 abstract 接口 interface 内部類 inner class 繼承 extends 實作 implements 包 package

abstract   class  A  ... {

Java 學習筆記 (3) -抽象類 abstract 接口 interface 内部類 inner class 繼承 extends 實作 implements 包 package

int b;

Java 學習筆記 (3) -抽象類 abstract 接口 interface 内部類 inner class 繼承 extends 實作 implements 包 package
Java 學習筆記 (3) -抽象類 abstract 接口 interface 内部類 inner class 繼承 extends 實作 implements 包 package

void c() ...{

Java 學習筆記 (3) -抽象類 abstract 接口 interface 内部類 inner class 繼承 extends 實作 implements 包 package

//方法實作

Java 學習筆記 (3) -抽象類 abstract 接口 interface 内部類 inner class 繼承 extends 實作 implements 包 package

}

Java 學習筆記 (3) -抽象類 abstract 接口 interface 内部類 inner class 繼承 extends 實作 implements 包 package

abstract void d();

Java 學習筆記 (3) -抽象類 abstract 接口 interface 内部類 inner class 繼承 extends 實作 implements 包 package

}

類A為抽象類 方法d()為抽象方法

接口 關鍵字 interface

接口的成員方法隻有聲明,沒有方法實作,所有方法都是public的

所有資料成員都是public static final的,值必須在編譯時确定

Java 學習筆記 (3) -抽象類 abstract 接口 interface 内部類 inner class 繼承 extends 實作 implements 包 package
Java 學習筆記 (3) -抽象類 abstract 接口 interface 内部類 inner class 繼承 extends 實作 implements 包 package

interface  A  ... {

Java 學習筆記 (3) -抽象類 abstract 接口 interface 内部類 inner class 繼承 extends 實作 implements 包 package

    int b=4;

Java 學習筆記 (3) -抽象類 abstract 接口 interface 内部類 inner class 繼承 extends 實作 implements 包 package

    void c();

Java 學習筆記 (3) -抽象類 abstract 接口 interface 内部類 inner class 繼承 extends 實作 implements 包 package

    int d();

Java 學習筆記 (3) -抽象類 abstract 接口 interface 内部類 inner class 繼承 extends 實作 implements 包 package

}

内部類(Inner Class)

Java支援在類内部嵌套類

沒有類聲明的類叫做匿名類,沒有函數聲明的方法叫做初始化塊,在類的構造函數前執行

繼承 關鍵字 extends

Java僅支援從類單繼承 this指向目前類對象,super指向父類

接口隻能繼承自接口,接口支援多繼承

類實作接口(相當于繼承) 用關鍵字 implements

Java 學習筆記 (3) -抽象類 abstract 接口 interface 内部類 inner class 繼承 extends 實作 implements 包 package
Java 學習筆記 (3) -抽象類 abstract 接口 interface 内部類 inner class 繼承 extends 實作 implements 包 package

interface  A  ... {

Java 學習筆記 (3) -抽象類 abstract 接口 interface 内部類 inner class 繼承 extends 實作 implements 包 package

   void b();

Java 學習筆記 (3) -抽象類 abstract 接口 interface 内部類 inner class 繼承 extends 實作 implements 包 package

}

Java 學習筆記 (3) -抽象類 abstract 接口 interface 内部類 inner class 繼承 extends 實作 implements 包 package
Java 學習筆記 (3) -抽象類 abstract 接口 interface 内部類 inner class 繼承 extends 實作 implements 包 package

interface  C  ... {

Java 學習筆記 (3) -抽象類 abstract 接口 interface 内部類 inner class 繼承 extends 實作 implements 包 package

   void d();

Java 學習筆記 (3) -抽象類 abstract 接口 interface 内部類 inner class 繼承 extends 實作 implements 包 package

}

Java 學習筆記 (3) -抽象類 abstract 接口 interface 内部類 inner class 繼承 extends 實作 implements 包 package
Java 學習筆記 (3) -抽象類 abstract 接口 interface 内部類 inner class 繼承 extends 實作 implements 包 package

interface  E  extends  A,C ... {

Java 學習筆記 (3) -抽象類 abstract 接口 interface 内部類 inner class 繼承 extends 實作 implements 包 package

   void f();

Java 學習筆記 (3) -抽象類 abstract 接口 interface 内部類 inner class 繼承 extends 實作 implements 包 package

}

Java 學習筆記 (3) -抽象類 abstract 接口 interface 内部類 inner class 繼承 extends 實作 implements 包 package
Java 學習筆記 (3) -抽象類 abstract 接口 interface 内部類 inner class 繼承 extends 實作 implements 包 package

class  G  ... {

Java 學習筆記 (3) -抽象類 abstract 接口 interface 内部類 inner class 繼承 extends 實作 implements 包 package

   //... ...

Java 學習筆記 (3) -抽象類 abstract 接口 interface 内部類 inner class 繼承 extends 實作 implements 包 package

}

Java 學習筆記 (3) -抽象類 abstract 接口 interface 内部類 inner class 繼承 extends 實作 implements 包 package
Java 學習筆記 (3) -抽象類 abstract 接口 interface 内部類 inner class 繼承 extends 實作 implements 包 package

class  H  extends  G  implements  E  ... {

Java 學習筆記 (3) -抽象類 abstract 接口 interface 内部類 inner class 繼承 extends 實作 implements 包 package

  //... ...

Java 學習筆記 (3) -抽象類 abstract 接口 interface 内部類 inner class 繼承 extends 實作 implements 包 package

}

定義包 Package

一個包是一堆.class檔案

類檔案頭可聲明包 : package MyPackage 包内檔案必須在MyPackage目錄下