【學習筆記】java物件導向程式設計3

來源:互聯網
上載者:User

標籤:

一. 對象塊

代碼如下:

 1 public class TestObject { 2     int i; 3     int j; 4     { 5         System.out.println("對象塊執行...."); 6         this.i = 1; 7         this.j = 99; 8     } 9     10     public TestObject(){11         System.out.println("建構函式執行.....");12         System.out.println("i = " +i);13         System.out.println("j = " +j);14     }15     16     public static void main(String[] args){17         TestObject test = new TestObject();18         19     }20 }

執行結果:

對象塊執行....建構函式執行.....i = 1j = 99

如以上代碼, 在4~8行中, 為對象塊.
從執行結果可以看出, 對象塊優於建構函式執行, 用於對成員變數進行初始化操作, 而且, 通過this可以看出, 在對象被建立的時候, 對象塊就執行, 可見, 對象塊是屬於對象的.

 

二. 靜態塊

代碼如下:

1 public class TestObject {2     static{3         System.out.println("靜態塊被載入...");4     }5     6     public static void main(String[] args){7         8     }9 }

運行結果:

靜態塊被載入...

為什麼main函數為空白, 也能顯示出這個結果呢? 因為main函數是一個主入口, 而這個入口執行前, 要先載入類, 而靜態塊是屬於類的, 所以在類被載入的時候, 靜態塊就被執行.
靜態塊一般只執行一次.

好處用法: 對於一些常用的初始化的東西, 在程式開始時就進行初始化操作.(利用了只執行一次, 並且優於main函數的特點)

 

三. 包 package

每個類都要放在包裡, 規範起來。包的命名推薦使用公司名稱。比如google.com 可以這樣命名包 com.google.項目名稱.模組名稱

包是嚴格的按照系統分類的來的,這點很重要, 也就是說,包是一個檔案夾,一級一級這樣下去,最後子檔案是類檔案.

包的匯入, 用import 包名;

注意:在包與包內的類之間進行相互調用的時候,就要用到import匯入, 繼承一個其他包的類, 也要這麼做.

一個貓類 繼承了動物類. 注意在類前面有import把動物類的包給匯入. 如下:

package com.abc.one;import com.abc.two.Animal;public class Cat extends Animal {    static{        System.out.println("A cat");    }        public static void main(String[] args){        Cat cat = new Cat();        cat.mathod();    }}

 

動物類:

package com.abc.two;public class Animal {    public static void main(String[] args){        System.out.println("動物類");    }    public void mathod(){        System.out.println("動物方法");    }}

 

運行 Cat.java檔案的結果為:

A cat動物方法

 

包的建立:

 

 

兩個不同包之間的調用, 用import包匯入來實現.

 

四. 存取控制

package com.abc.one;public class Test {    private int i;    int j;    protected int n;    public int m;}
package com.abc.two;import com.abc.one.Test;public class TestSmall {    public static void main(){        Test test = new Test();        System.out.println(test.i);    }}

無法運行, 因為 i 私人類型.

 

【學習筆記】java物件導向程式設計3

聯繫我們

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