安卓培訓(java篇)第4天—物件導向

來源:互聯網
上載者:User

標籤:關鍵字   java   如何   

  1. 類的概念:類是一種抽象的概念,它為“物件服務”,類與對象相互依存;

    對象的概念:真正做事的“人”;

    封裝的概念:顯性和隱性 指的是方法或常量(欄位);

  2. 如何建立對象:

    文法:類名 對象名(變數名)=new 類名(是否帶參);

    意義:調用本類裡面的成員變數和方法;

    注意事項:null 指標異常;

  3. 構造方法:

    文法:許可權+類名(是否帶參){}//方法名必須跟類名一致;

    何時調用:建立對象時調用該方法;

    注意事項:任何一個類,都預設帶有一個無參的構造方法,除非重寫一個新的構造方法將其覆蓋。

  4. set()、get()方法:

    備忘:必須先有成員變數,使用這兩個方法才有意義;

  5. 方法的重載:

    文法:許可權+(static)+傳回值類型+方法名(是否帶參){}

    前提:必須在同一個類中;

    作用:可以減少定義方法名的煩惱;

    要求:有無傳回值的方法,在同一個類中屬於同一個方法;

    方法的重載只跟形參的個數和類型有關,與其他無關;

    構造方法也存在重載;

  6. this關鍵字:

    三大特點:

    可以表示類的屬性;

    可以使用this調用本類的構造方法;

    可以表示當前類的對象;

    注意事項:不能放在static方法中;

  7. static關鍵字:

    特點:static只跟類有關,跟對象無關;

    static本身就是一個“內部”類的一個對象(對象就是類本身);

    注意事項:方法內不能再用static來進行修飾;

  8. package、import

    package申明一個自己的包名;(com/org開頭,表示公用/私人)

    import放在package裡面,把在本類中引用到的類(JDK、自訂類)所在的包引過來;不同包才需引包;

    如何看API:

    第一:先看類所在包是否是想要的,看一下簡介;

    第二:看構造方法裡面有幾個重載的方法,作用分別是什麼;

    第三:看成員方法裡面是否有所需的方法,直接用對象去調用;

    API文檔需要記的包名:

    java.lang.*:在java中不需要導包;

    java.awt.*:介面(GUI)類;圖形化使用者介面

    java.net.*:網路通訊;

    java.io.*:輸入、輸出資料流;

    java.util.*:常用工具類;

  9. Eclipse快速鍵

    ctrl+左鍵:進入java底層代碼(API文檔對應的類)

    ctrl+o:尋找相對應類的方法;

    ctrl+1:逆向書寫代碼,從右至左;

  10. 繼承:

    概念:如果兩個類存在繼承關係,子類就可以擁有父類所有成員變數和方法;

    文法:許可權+class+子類+extends+父類{}

    注意事項:java中只能單繼承,但可以多重繼承;

  11. 許可權修飾符


    650) this.width=650;" src="http://note.youdao.com/yws/public/resource/719ed66494263eb983dad4d9b8549a6b/1AA7DC517ECE4207A2F1B149C5452BDF/E88CBAC79B3D4F5B9F617A2B8035910A" style="border:none;height:auto;" alt="E88CBAC79B3D4F5B9F617A2B8035910A" />

    注意事項:protected如果是在不同包,必須存在繼承關係才能調用,否則無法調用;

    多個類中,只能有一個public類;許可權只修飾類、方法、成員變數;

  12. 重寫:

    條件:只存在繼承中,方法頭必須一模一樣;

    注意事項:父類的普通方法會被子類的重寫方法所覆蓋;

    父類裡面被重寫的方法不能比子類裡面的重寫方法許可權高;(除private)

  13. 靜態問題:

    類的載入順序:(靜態塊、靜態變數)>靜態方法>構造方法>成員變數>成員方法;


課後練習:

1、已知有一個遊戲類Game,有一個play();它有四個子類,分別是C9、CF、CS、LOL

要求:四個子類都必須重寫play()方法;


public class Game {

    public void play(){

        System.out.println("Game");

    }

    public static void main(String[] args){

        Game[] g = new Game[4];

        g[0] = new C9();

        g[1] = new CF();      

        g[2] = new CS();       

        g[3] = new LOL();

        for(int i=0;i<g.length;i++){

            g[i].play();

        }

    }

}

class C9 extends Game {

    public void play(){

        System.out.println("C9");

    }

}

class CF extends Game {

    public void play(){

        System.out.println("CF");

    }

}

class CS extends Game {

    public void play(){

        System.out.println("CS");

    }

}

class LOL extends Game {

    public void play(){

        System.out.println("LOL");   

    }

}



本文出自 “坤” 部落格,請務必保留此出處http://linyingkun.blog.51cto.com/2393912/1574787

安卓培訓(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.