java初學4

來源:互聯網
上載者:User

標籤:

1、interface介面

(1)[修飾符] interface 介面名 extends 父介面1,父介面2....       •沒有構造方法,不能執行個體化;       •介面只能繼承介面,不能繼承類       •介面裡沒有普通方法,方法全是抽象的;       •介面裡的方法預設修飾符是 public abstract;       •介面裡的欄位全是全域常量,預設修飾符是 public static final;(2)介面裡的成員包括(主要是前兩個):       •全域常量       •公用的抽象方法       •內部類(包括內部類,內部介面,內部枚舉類);使用介面格式 :  public class SubImpl  extends Super  implements IA,IB •介面的實現必須在 extends 之後;•實現介面的方法必須是 public 類型•介面不能建立執行個體,但是可以聲明參考型別的變數。       •此時,參考型別的變數必須指向到其實作類別對象。       •IStudent s = new String();//       •IStudent s = new StudentImpl();// 2、介面和抽象類別異同點(1)相同點:       •都位於繼承的頂端,用於被其他實現或繼承;       •都不能執行個體化;       •都包含抽象方法,其子類都必須覆寫這些抽象方法;(2)區別:       •抽象類別為部分方法提供實現,避免子類重複實現這些方法,提供代碼重用性;介面只能包含抽象方法;       •一個類只能繼承一個直接父類(可能是抽象類別),卻可以實現多個介面;(介面彌補了Java的單繼承)(3) 二者的選用:       •優先選用介面,盡量少用抽象類別;       •需要定義子類的行為,又要為子類提供共性功能時才選用抽象類別; 3、內部類(1)類中有類       •內部類:嵌套類       •外部類:宿主類(2)把內部類隱藏在外部類之內,不許同包的其他類訪問該類;(3)內部類可以訪問外部類的私人資料,外部類不能訪問內部類的實現細節,比如欄位;(4)觀察編譯後的位元組碼檔案(5)非靜態內部類;靜態內部類,局部內部類;(6)匿名內部類適合於僅使用一次使用的類; A、非靜態內部類     Ø若外部類欄位,內部類欄位,內部類方法變數同名,則其訪問方式分別是:        •訪問外部類的欄位:外部類類名.this.欄位        •訪問內部類欄位:this.欄位        •訪問內部類方法的局部變數:欄位 非靜態內部類例子: 列印結果:             把局部變數添加到尾巴             把內部類屬性添加到尾巴             把外部類屬性添加到尾巴 在外部類以外訪問非靜態內部類(1)內部類不能是private修飾,否則不能訪問(2)外部類以外的地方定義內部類變數       •OuterClass.InnerClass varName ;(3)非靜態內部類對象是存放在外部類的對象裡的,因此在建立非靜態內部類對象之前,必須先建立其外部類的對象       •OuterInstance.new InnerClass([參數列表]);
public class InnerDemo {    public static void main(String[] args) {        //Outer.Inner in = new Outer().new Inner();        Outer.Inner in;        Outer out = new Outer();        in = out.new Inner();        //in.inShow();        //Outer out = new Outer();        //out.outShow();    }}class Outer {    class Inner {        public void inShow() {            System.out.println("inShow");        }    }    public void outShow(){        //System.out.println("outShow");        Inner in = new Inner();        in.inShow();    }}
在外部類以外訪問非靜態內部類例子 B、靜態內部類   C、局部內部類   D、匿名內部類   

java初學4

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.