Java—類和對象

來源:互聯網
上載者:User

標籤:靜態方法   調用   成員方法   分配   回收   main   pre   靜態初始化   lang   

使用對象的步驟1、建立對象: 類名 對象名 = new 類名();(對一個類進行執行個體化 )         例:Telphone phone =new Telphone();2、使用對象:引用對象的屬性 對象名.屬性         例:phone.screen = 5;//給執行個體對象賦值  引用對象方法: 對象名.方法名();         例: phone.sendMessage();

成員變數與局部變數:

直接寫在類中供整個類使用的叫成員變數,寫在方法中的叫局部變數1.局部變數範圍不同,成員變數可作用於整個類,局部變數作用於定義它的方法2.成員變數會有初始值null或0.局部變數需要手動賦值3.在不同方法中允許有同名的局部變數,在同一個方法中不允許有同名的局部變數4.局部變數和成員變數同名時,局部變數優先順序更

構造方法:
1.構造方法是一個用於初始化對象的方法2.使用new+構造方法建立對象3.構造方法可以有參數,但沒有傳回值類型,方法名與類名相同4.有參數的構造方法用於初始化時賦值5.系統內建一個無參的構造方法,自己定義構造方法相當於重寫了構造方法6.方法重載:方法名相同,參數個數和類型不同
7.當有指定構造方法,無論是有參還是無參,都不會自動添加無參構造方法了
1 //無參構造方法的使用 2 main():3 Telphone phone = new Telphone();4 class Telphone:5  public Telphone(){6 System.out.println("Telphone無參構造方法執行了!");7 }
1 //有參的構造方法2 Telphone phone2 = new Telphone(4.0f,2.0f,2.0f);3 class Telphone:4 public Telphone(float newScreen,float newCpu,float newMem){5 screen = newScreen;6 cpu = newCpu;7 mem = newMem;8 }
Java 中的 static 使用之靜態變數

Java 中被 static 修飾的成員稱為靜態成員或類成員。它屬於整個類所有,而不是某個對象所有,即被類的所有對象所共用。靜態成員可以使用類名直接存取,也可以使用對象名進行訪問。當然,鑒於他作用的特殊性更推薦用類名訪問~~

使用 static 可以修飾變數、方法和代碼塊。

本小節,我們先認識一下靜態變數。

例如,我們在類中定義了一個 靜態變數 hobby ,作業碼如下所示:

運行結果:

要注意哦:靜態成員屬於整個類,當系統第一次使用該類時,就會為其分配記憶體空間直到該類被卸載才會進行資源回收!~~

Java 中的 static 使用之靜態方法

與靜態變數一樣,我們也可以使用 static 修飾方法,稱為靜態方法或類方法。其實之前我們一直寫的 main 方法就是靜態方法。靜態方法的使用如:

運行結果:

需要注意:

1、 靜態方法中可以直接調用同類中的靜態成員,但不能直接調用非靜態成員。如:

如果希望在靜態方法中調用非靜態變數,可以通過建立類的對象,然後通過對象來訪問非靜態變數。如:

2、 在普通成員方法中,則可以直接存取同類的非靜態變數和靜態變數,如下所示:

3、 靜態方法中不能直接調用非靜態方法,需要通過對象來訪問非靜態方法。如:

 總之:

靜態方法中能直接使用靜態成員變數或靜態方法;對於非靜態變數和方法需要通過建立對象來使用;

普通方法中則可以直接存取同類的非靜態變數和靜態變數

Java 中的 static 使用之靜態初始化塊

Java 中可以通過初始化塊進行資料賦值。如:

在類的聲明中,可以包含多個初始化塊,當建立類的執行個體時,就會依次執行這些代碼塊。如果使用 static 修飾初始化塊,就稱為靜態初始化塊。

需要特別注意:靜態初始化塊只在類載入時執行,且只會執行一次,同時靜態初始化塊只能給靜態變數賦值,不能初始化普通的成員變數。

我們來看一段代碼:

運行結果:

通過輸出結果,我們可以看到,程式運行時靜態初始化塊最先被執行,然後執行普通初始化塊,最後才執行構造方法。由於靜態初始化塊只在類載入時執行一次,所以當再次建立對象 hello2 時並未執行靜態初始化塊。

 



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.