java學習筆記(四)物件導向

來源:互聯網
上載者:User

標籤:object類   data-   get   blog   編譯   學習筆記   print   pos   date   

一、形參長度可變的方法當傳入被調用的函數參數數量不確定時,在方法最後一個形參的類型後加上三個點號(...),表明該形參能夠接受多個參數值。多個參數值被當做數組傳入,這些參數必須為指定的類型。
package wbb.java.JavaObject;/** * Created with IntelliJ IDEA. * User: wbb * Date: 14-7-17 * Time: 下午4:26 * To change this template use File | Settings | File Templates. */public class MulParams {    public static void main(String[] args) {        mulFun("籃球", "足球");    }    public static void mulFun(String... ballName) {        for(String name : ballName) {            System.out.println(name);                   }    }}
二、方法重載1、同一個類中方法名同樣,方法中的參數類型或者參數個數不同就叫方法重載;2、方法的修飾符、返回值不同不是方法重載;三、superkeyword的使用super關鍵使用的注意事項:1、假設父類中的成員變數和方法被定義為private類型。那麼子類永遠無法訪問他們,假設採用super.name的形式去訪問父類的private類型的var變數。就會導致編譯錯誤。2、僅僅能在構造方法或實力方法內使用superkeyword,而在靜態方法和靜態代碼塊內不能使用superkeyword。
package wbb.java.JavaObject;/** * Created with IntelliJ IDEA. * User: wbb * Date: 14-7-21 * Time: 上午9:31 * To change this template use File | Settings | File Templates. */public class OverWrite {    public static void main(String[] args) {        B b = new B();        b.test();    }}class A {    public String name = "wbb";    public void test() {        System.out.println("父類test方法");    }}class B extends A {    public void test() {        System.out.println(super.name);        super.test();    }}

輸出結果:wbb    父類test方法四、多態1、假設把引用變數轉換為子類類型稱之為向下轉型。2、假設把引用變數轉換為父類類型稱之為向上轉型;五、toString()方法Object類提供的toString方法總是返回該對象實作類別的類名+@+hashCode值,這個返回值並不能真正實現“自我描寫敘述”的功能,假設使用者想實現“自我描寫敘述”的功能,必須重寫Object類的toString方法。
package wbb.java.JavaObject;/** * Created with IntelliJ IDEA. * User: wbb * Date: 14-7-23 * Time: 上午9:31 * To change this template use File | Settings | File Templates. */public class ToString {    public static void main(String[] args) {        Animal animal = new Animal("忠犬八公");        System.out.println(animal);    }}class Animal {    private String name;    public Animal(String name) {        this.name = name;    }//    public String toString() {//        return "這條狗的名字為" + name;//    }}

輸出結果為:[email protected]去掉凝視代碼重寫toString方法就能實現對象的自我描寫敘述:這條狗的名字為忠犬八公六、單例類假設一個類始終僅僅建立一次。那麼稱這個類為單例類。為什麼要使用單例類,由於有的對象僅僅須要建立一次就能夠了,建立多了浪費系統的開銷,比方說在一個小房間裡面一台空調就能起到非常好的製冷效果,假設放置兩台或者多台就有點浪費了。
package wbb.java.JavaObject;/** * Created with IntelliJ IDEA. * User: wbb * Date: 14-7-25 * Time: 下午3:30 * To change this template use File | Settings | File Templates. */public class Singleton {    //定義一個靜態變數用於緩衝建立過的執行個體    private static Singleton instance;    //為了避免其它類自由建立該類的執行個體。把構造器聲明為私人的,僅僅有在該類內部才幹調用構造器    private Singleton(){}    // 提供一個public方法作為該類的訪問點,而且必須使用static修飾。

// 由於調用該方法之前還不存在對象。因此調用該方法的不可能是對象,僅僅能是類。 // 由於成員變數在靜態方法中使用,所以定義的時候用static修飾。 public static Singleton getInstance() { if(instance == null) { instance = new Singleton(); } return instance; }}class TestSingleton { public static void main(String[] args) { Singleton instance1 = Singleton.getInstance(); Singleton instance2 = Singleton.getInstance(); //輸出結果為true,說明兩個引用變數指向的是同一個對象 System.out.println(instance1 == instance2); }}








java學習筆記(四)物件導向

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.