變量、package及import、javabean、this

(變量、package及import、javabean、this)

一、變量

成員變量:包括類變量(static修飾)和實例變量(無static)

區(qū)別

成員變量,可以先使用后定義,局部變量必須先定義而后才能使用.

此處參考java編程思想第5章初始化部分——p94頁及之后,

變量會在任何方法(包括構(gòu)造器)被調(diào)用之前得到初始化

某個類中有靜態(tài)變量,new此類的對象,只是new它的非靜態(tài)成員

靜態(tài)初始化只在Class對象首次加載的時候進行一次

二、package和import及其他

package語句必須是文件中的第一行非注釋程序代碼。

基本語法不做贅述,此處摘錄一段

Java解釋器的工作程序如下:首先,它找到環(huán)境變量CLASSPATH。從根目錄開始,解釋器會尋找包名,并將每個點號(句點)替換成一個斜杠,從而生成從CLASSPATH根開始的一個路徑名(所以package foo.bar.baz會變成foo\bar\baz或者foo/bar/baz;具體是正斜杠還是反斜杠由操作系統(tǒng)決定)。得到的路徑會與CLASSPATH中各個不同的項相連接,解釋器就在這些目錄中查找與你所要創(chuàng)建的類名稱相關的 ?.class文件。

http://blog.csdn.net/u013188532/article/details/52289446? ?

對于初學者來說:可以簡單理解為指定搜索路徑,使得你可以使用javac和java命令找到你所需要編譯的文件。


import:當A類和B類不在同一個包中,若A類需要使用到B類,此時就得讓A類中去引入B類.

語法格式: import 需要導入類的全限定名;

類的全限定名稱: 包名.類名; ? 例如:import java.util.Arrays; 或者 ? ?import java.util.*;

其他:靜態(tài)導入 ? 例如 ?import static utils.Print.print; ? ? ? ?

則可以直接使用自己編寫的工具類中的靜態(tài)print方法 ?print("123");

查看interview項目,具體git鏈接待發(fā)布。

三、JavaBean規(guī)范

JavaBean規(guī)范: JavaBean 是一種JAVA語言寫成的可重用組件(類).

必須遵循一定的規(guī)范:

? ? ? 1):類必須使用public修飾.

? ? ? 2):必須保證有公共無參數(shù)構(gòu)造器,即使手動提供了帶參數(shù)的構(gòu)造器,也得提供無參數(shù)構(gòu)造器..

? ? ? ?3):包含了屬性的操作手段(給屬性賦值,獲取屬性值).

分類: 1):復雜:UI,比如Button,Panel,Window類.

????????????2):簡單:domain,dao,service組件,封裝數(shù)據(jù),操作數(shù)據(jù)庫,邏輯運算等.(封裝有字段,并提供getter/setter)

成員: 1):方法:Method 2):事件:event 3):屬性:property

屬性: 1):attribute:表示狀態(tài),Java中沒有該概念,很多人把字段(Field)稱之為屬性(attribute).不要把成員變量叫做屬性

2):property: 表示狀態(tài),但是不是字段,是屬性的操作方法(getter/setter)決定的,框架中使用的大多是是屬性.

封裝應該把對象中信息隱藏起來(把類中的字段全部使用private修飾起來,其他類不能直接訪問).為了能讓外界(其他類)訪問到本類中的私有字段成員,我們專門提供getter以及setter方法.

字段: private String name;

getter方法: 僅僅用于獲取某一個字段存儲的值.

//去掉get,把首字母小寫,得到name1.此時name1才是屬性.

public String getName1(){ return name;//返回name字段存儲的值}

如果操作的字段是boolean類型的,此時不應該叫做getter方法,而是is方法,把 getName 變成 isName.

setter方法: 僅僅用于給某一個字段設置需要存儲的值.

public void setName1(String n){ name = n;//把傳過來的n參數(shù)的值,存儲到name字段中}

每一個字段都得提供一對getter/setter.以后使用Eclipse工具之后getter/setter都是自動生成.

在JavaBean中有屬性這個概念,只有標準情況下字段名和屬性名才相同.

四、this

? ? ? 表示當前對象,

? ? ? this主要存在于兩個位置:

? ? ? ? ? ? ? 構(gòu)造器中:? 就表示當前創(chuàng)建的對象.

? ? ? ? ? ? ? 方法中:? 哪一個對象調(diào)用this所在的方法,那么此時this就表示哪一個對象.

當一個對象創(chuàng)建之后,JVM會分配一個引用自身的引用:this.

使用this:

① 解決成員變量和參數(shù)(局部變量)之間的二義性,必須使用;

② 同類中實例方法間互調(diào)(此時可以省略this,但是不建議省略)。

③ 將this作為參數(shù)傳遞給另一個方法;

④ 將this作為方法的返回值(鏈式方法編程);

⑤ 構(gòu)造器重載的互調(diào),this([參數(shù)])必須寫在構(gòu)造方法第一行;

⑥ static不能和this一起使用; 當字節(jié)碼被加載進JVM,static成員以及存在了. 但是此時對象還沒有創(chuàng)建,沒有對象,就沒有this.

多練習,注意eclipse快捷鍵提高效率。

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容