成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

《Thinking in Java》 Chapter 5 Tips

fuchenxuan / 1890人閱讀

摘要:用構(gòu)造器保證初始化構(gòu)造器采用與類相同的名稱。如果已經(jīng)定義了一個構(gòu)造器無論是否有參數(shù),編譯器就不會幫你自動創(chuàng)建默認(rèn)構(gòu)造器關(guān)鍵字關(guān)鍵字只能在方法內(nèi)部使用,表示對調(diào)用方法的那個對象的引用。

5.1 用構(gòu)造器保證初始化
構(gòu)造器采用與類相同的名稱。構(gòu)造器是一種特殊類型的方法,因為它沒有返回值
當(dāng)創(chuàng)建一個對象時,也就是給此對象分配到的存儲空間起了一個名字

5.2 方法重載
為了讓方法名相同而形式參數(shù)不同的構(gòu)造器同時存在,必須使用方法重載。每個重載的方法都必須有一個獨一無二的參數(shù)類型列表
基本類型能從一個“較小”的類型自動提升至一個“較大”的類型
根據(jù)方法的返回值來區(qū)分重載方法是行不通的

5.3 默認(rèn)構(gòu)造器
如果你寫的類中沒有構(gòu)造器,則編譯器會自動幫你創(chuàng)建一個默認(rèn)的構(gòu)造器。如果已經(jīng)定義了一個構(gòu)造器(無論是否有參數(shù)),編譯器就不會幫你自動創(chuàng)建默認(rèn)構(gòu)造器

5.4 this 關(guān)鍵字
this 關(guān)鍵字只能在方法內(nèi)部使用,表示對“調(diào)用方法的那個對象”的引用。只有當(dāng)需要明確指出對當(dāng)前對象的引用時,才需要使用 this 關(guān)鍵字
除構(gòu)造器外,編譯器禁止在其他任何方法中調(diào)用構(gòu)造器
static 方法就是沒有 this 的方法,在 static 方法的內(nèi)部不能調(diào)用非靜態(tài)方法

5.5 清理:終結(jié)處理和垃圾回收
假定你的對象(并非使用 new)獲得了一塊“特殊”的內(nèi)存區(qū)域,由于垃圾回收器只知道釋放那些經(jīng)由new 分配的內(nèi)存,所以它不知道該如何釋放該對象的這塊“特殊”內(nèi)存。為了應(yīng)對這種情況,Java 允許在類中定義一個名為 finalize()的方法。它的工作原理“假定”是這樣的:一旦垃圾回收器準(zhǔn)備好釋放對象占用的存儲空間,將首先調(diào)用其 finalize()方法,并且在下一次垃圾回收動作發(fā)生時,才會真正回收對象占用的內(nèi)存
對象可能不被垃圾回收;垃圾回收并不等于“析構(gòu)”
垃圾回收只與內(nèi)存有關(guān),使用垃圾回收器的唯一原因是為了回收程序不再使用的內(nèi)存
之所以要有 finalize(),是由于在分配內(nèi)存時可能使用了類似 C 語言的做法
System.gc()用于強制進行終結(jié)動作

5.6 成員初始化
Java 盡力保證:所有成員在使用之前都能得到恰當(dāng)?shù)某跏蓟?br> 類的每個基本數(shù)據(jù)成員保證都會有一個初始值
在類里定義一個對象引用時,如果不將其初始化,此引用就會得到一個特殊值 null

5.7 構(gòu)造器初始化
無法阻止自動初始化的進行,它將在構(gòu)造器被調(diào)用之前發(fā)生
變量定義的先后順序決定了初始化的順序
靜態(tài)數(shù)據(jù)的初始化:無論創(chuàng)建多少個對象,靜態(tài)數(shù)據(jù)都只占用一份內(nèi)存區(qū)域。static 關(guān)鍵字不能應(yīng)用于局部變量,因此他只能作用于域。如果一個域是靜態(tài)的基本類型域,且也沒有對它進行初始化,那么它就會獲得基本類型的標(biāo)準(zhǔn)初值;如果它是一個對象引用,那么它的默認(rèn)初始化值就是 null
靜態(tài)初始化只有在必要時才進行
初始化的順序是先靜態(tài)對象(如果它們尚未因前面的對象創(chuàng)建過程而被初始化),而后是“非靜態(tài)”對象
構(gòu)造器可以看成靜態(tài)方法
靜態(tài)初始化動作只進行一次

5.8 數(shù)組初始化
編譯器不允許指定數(shù)組的大小
在 Java 中可以將一個數(shù)組賦值給另一個數(shù)組

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/64281.html

相關(guān)文章

  • Chapter4 Java流程控制之選擇結(jié)構(gòu)

    摘要:流程控制概述流程控制語句種類順序選擇循環(huán)選擇結(jié)構(gòu)結(jié)構(gòu)結(jié)構(gòu)多重結(jié)構(gòu)嵌套結(jié)構(gòu)結(jié)構(gòu)循環(huán)結(jié)構(gòu)循環(huán)循環(huán)循環(huán)循環(huán)嵌套多重結(jié)構(gòu)與嵌套結(jié)構(gòu)多重結(jié)構(gòu)例子使用多重結(jié)構(gòu)進行成績判斷成績大于等于分,輸出優(yōu)成績大于等于分且小于分,輸出良成績大于等于分且小 Lecture1 流程控制概述 流程控制語句種類:順序、選擇、循環(huán);選擇結(jié)構(gòu)--if結(jié)構(gòu)、if-else結(jié)構(gòu)、多重if結(jié)構(gòu)、嵌套if結(jié)構(gòu)、switch結(jié)構(gòu);循...

    lieeps 評論0 收藏0
  • Chapter10 Java封裝

    摘要:封裝的實現(xiàn)封裝將類的某些信息隱藏在類內(nèi)部,不允許外部程序直接訪問,只能通過該類提供的方法來實現(xiàn)對隱藏信息的操作和訪問即隱藏對象信息的同時要留出訪問的接口封裝的特點只能通過規(guī)定的方法訪問數(shù)據(jù)隱藏類的實例細(xì)節(jié),方便修改和實現(xiàn)封裝代碼的實現(xiàn)修改屬 Lecture1 封裝的實現(xiàn) 封裝:將類的某些信息隱藏在類內(nèi)部,不允許外部程序直接訪問,只能通過該類提供的方法來實現(xiàn)對隱藏信息的操作和訪問(即隱...

    xorpay 評論0 收藏0
  • Chapter9 Java面向?qū)ο?/b>

    摘要:初始面向?qū)ο竺嫦驅(qū)ο箨P(guān)注現(xiàn)實存在的事物的各方面信息,從對象的角度出發(fā),根據(jù)事物的特征進行程序設(shè)計類類是模子,是一個抽象的概念,確定對象將會擁有的特征屬性和行為方法,是具有相同屬性和方法的一組對象的集合對象對象是類的實例化表現(xiàn),是一個用來描述 Lecture1 初始面向?qū)ο? 面向?qū)ο螅宏P(guān)注現(xiàn)實存在的事物的各方面信息,從對象的角度出發(fā),根據(jù)事物的特征進行程序設(shè)計 類:類是模子,是一個抽象...

    lylwyy2016 評論0 收藏0
  • Thinking in Java)第13章 字符串

    摘要:四上的操作看五格式化輸出運用和語言很相似和是等價的喲類格式化說明符轉(zhuǎn)換六正則表達式網(wǎng)上教程學(xué)七掃描輸入新增了類。 一、不可變String String類型的對象是不可變的,所有的改變實際上都是創(chuàng)建了一個新的String對象,另外當(dāng)String作為傳入?yún)?shù)的時候,其實實際上傳入的是這個引用的一個拷貝,這個方法結(jié)束了之后這個傳入的引用也就消失了,原來的那個String不會受到方法內(nèi)的影響而...

    feng409 評論0 收藏0
  • Thinking in Java)第11章 持有對象

    摘要:迭代器解決了這個問題。刪除后于是我們可以寫一個方法,接受一個類型,然后讓他調(diào)用方法,這就不需要考慮這個是個還是了,也就是說,可以將遍歷容器的操作與序列底層的結(jié)構(gòu)分離,迭代器統(tǒng)一了對容器類的訪問方式。十二和兩種遍歷的方法,與迭代器方法。 一、泛型和類型安全的容器 package tij.hoding; import java.util.ArrayList; public class ...

    v1 評論0 收藏0

發(fā)表評論

0條評論

fuchenxuan

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<