javase 05 物件導向

2021-06-09 02:03:42 字數 2182 閱讀 1693

一.建構函式的定義與作用

1.函式的名次與類同名

2.沒有返回值型別

3.不能使用retrun 關鍵字來返回乙個值

注意》:沒有返回值型別宣告不等同於「void」,void也是一種返回值的宣告(如果寫上了void,那就是乙個普通的方法啦!)

二.建構函式的具體應用

1.建構函式也一般的函式一樣,都是可以被過載的.但是引數型別要不一致.而且建構函式是沒有返回值

建構函式如果被呼叫?

2.使用new關鍵字來建立物件的時候,會自動的呼叫乙個類的建構函式.也可以在乙個類中利用this();來呼叫其他的建構函式!

但是要注意:遞迴構造器呼叫. 普通函式的呼叫是:this.run(); 而構造函式呼叫是this();這樣來呼叫.

類必須要定義建構函式

3.其實每乙個類中至少都有乙個建構函式的,如果定義類時,沒有顯示的宣告任何的建構函式.系統會自動的為這個類建立了乙個不帶任何引數的建構函式.

如果你在乙個類中建立了乙個顯式的建構函式.那麼,虛擬機器就不會自動的為你建立

建構函式的訪問許可權

4.一般在定義建構函式的時,如果沒有特殊的需求(就好單例)應該使用public關鍵字來修飾建構函式

在一些特殊的情況使用private關鍵字

new person()虛擬機器做了什麼事?

1.首先把類載入進來

2.為這個類建立物件.並且為成員變數初始化

3.自動的呼叫建構函式裡面的內容

三:this關鍵字

this的引用

1.this關鍵字一般用於方法內

2.this代表是乙個物件的引用

具體引用那個物件,就看這個呼叫方法的物件

this的應用場景

1.當在乙個類中要明確指出使用物件自己的的變數或函式時就應該加上this引用 ,此時this是指當前物件自己。

2.當你要把自己作為引數傳遞給別的物件時,也可以用this關鍵字,此時this被作為引數傳遞。

在內部類中也會經常使用this關鍵字,此時this代表內部類物件,如想引用外部類物件,this前面還需要加上外部類的類名。

在建構函式中,可以使用this(實參)來呼叫該類的其他建構函式,此時,應注意,呼叫**只能在第一行,在別的方法中不能這樣調建構函式,在乙個建構函式中只能調乙個建構函式(因為都必須放在前面啦.所以只能呼叫乙個)

四.函式的引數傳遞

1.基本資料型別在引數傳遞過程中值是不會改變的

(int ,byte,char,long,short,double,float,boolean )

2.引用資料型別在引數傳遞的過程中,其值是會被改變的.

五:static關鍵字之靜態變數

static關鍵字:在程式中使用static關鍵字來修飾乙個成員

類什麼時候載入?

類只會載入一次,又因為static修飾的變數是隨著類的載入而載入的. 所以其值是被任何的物件所共享.

1.靜態變數修飾的屬性是被所有類的例項所共享

2.靜態變數可以通過類名.屬性名直接訪問.(因為它是隨著類的載入而載入.只能載入一次)

3.靜態變數在類的載入時就完成了初始化.

第六:static關鍵字之靜態方法

1.用static修飾的方法是靜態方法

2.在類載入後,就可以直接通過類名來呼叫靜態方法

3.可以使用類名.方法名來直接訪問

4.靜態方法的內部是不能直接的訪問非靜態的成員

原因:因為靜態訪問在類載入後就可以直接呼叫了,而非靜態的成員則需要建立物件才可以呼叫.所以是不能直接的來訪問非靜態的成員

5.靜態方法內部,只能通過建立該類的物件才可以訪問非static的方法.靜態方法中是不能使用this關鍵字,因為靜態方法沒有別的引用. 靜態方法中也沒有所謂的物件。

6.靜態的方法的應用:

. 一般在工具類上面.因為工具類是可以直接呼叫呼叫就可以使用了嘛.

生產物件中也可以使用。

JAVA SE 物件導向

封裝 繼承 多型 符合我們思想習慣的思想 複雜事情簡單化 執行者變成指揮者 事物 類 封裝 屬性,功能 屬性 成員變數 屬性 功能 成員方法 功能 例項化類 建立物件 leiming duixiangming new leiming 獲取屬性 duixiangming.shuxingming 呼叫方...

JavaSE 物件導向下

1.1.定義乙個father和child類,並進行測試。要求如下 1 father類為外部類,類中定義乙個私有的string型別的屬性name,name的值為 zhangjun 2 child類為father類的內部類,其中定義乙個introfather 方法,方法中呼叫father類的name屬性...

JAVASE 物件導向(二)

物件導向的特徵 封裝性,繼承性,多型性 封裝性 當建立了類以後,通過 物件.屬性 的方式對相應的屬性賦值的話,可能會出現不滿足實際情況的意外,我們考慮不讓物件直接作用屬性,而通過 物件.方法 的形式,來控制物件屬性的訪問。1.將屬性私有化 2.提供公共的set,get方法 許可權從大到小 publi...