java 小結1:static ,final及泛型

來源:互聯網
上載者:User

static,final。

(1)final:

final:屬於“終態”,意思就是不可以改變。可以修飾非抽象類別,非抽象類別的方法等。反正就是不能夠再改變賦值了。

注意:1)fina類不能被繼承,所以它沒有子類。

2)final不能用於修飾構造方法。

3)final方法可以繼承,但是不能夠被覆蓋

4)final一旦賦值,便不能更改

5)final容器,比如list,容器不能夠改變,但是容器裡面的內容是可以變化的。

(2)static:

static:表示“靜態”,“全域”,可用來修飾變數,方法還可以用來形成static代碼塊。

被static修飾的的成員或者成員方法是獨立於類的,它不依賴於某個執行個體,是被所有執行個體所共用的,也就是說,只要這個類被載入,JVM就能根據方法名去運行記憶體區去尋找它們。

不需要事先建立執行個體,

就這樣認為吧,static修飾後的變數,在記憶體中只有一份拷貝,所有執行個體都共用這份拷貝,但是如果是執行個體變數,那麼每次建立一個執行個體便會多建立一份資料。

更多精彩內容:http://www.bianceng.cnhttp://www.bianceng.cn/Programming/Java/

static 代碼塊:

static代碼塊也叫靜態代碼塊,是在類中獨立於類成員的static語句塊,可以有多個,位置可以隨便放,它不在任何的方法體內,JVM載入類時會執行這些靜態代碼塊,如果static代碼塊有多個,JVM將按照它們在類中出現的先後順序依次執行它們,每個代碼塊只會被執行一次

private static final String GOOD = "G";  表示的是說“G”這個字串在程式中我們可以使用GOOD替換。

泛型:

泛型是避免重複的裝箱和拆箱 比如集合List<Strunt> studentList=new ArrayList<Student>();

可以直接往集合裡添Student對象

studentList.add(student1);

studentList.add(student2);

...

如果是這樣List studentList=new ArrayList();

studentList.add(student1);

studentList.add(student2);

那麼想要遍曆集合就得

for(Object o:studentList){

Student oo=(Student)o;//這裡需要類型轉換

}

而上面第一個可以直接

for(Student o:StudentList){

o就代表每一個學生的實體了 不需要類型轉換便可得到

作者:部落格園 郭佳盛哈哈

聯繫我們

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