構造方法,Static關鍵字,封裝

2021-09-18 07:14:05 字數 2243 閱讀 5548

static(靜態)關鍵字

封裝作用:物件的初始化

//dog1類檔案

public class dog1

//方法

public void show()

}

//dog1測試檔案

public class dog1test 

}

結果為:

在無參構造方法中,賦值了name為小黃,但是在測試檔案中的物件又對name賦值了小黑。

注:類的載入順序:靜態**塊》構造器》成員變數賦值

宣告變數值的優先順序:建立物件後賦值》構造器賦值》成員變數賦值

語法:

訪問修飾符  構造方法(引數列表)
例項:

//dog1類檔案

public class dog1 

public void show()

}

//dog1類測試檔案

public class dog1test 

}

使用static定義變數,可以直接通過類名訪問變數

使用static定義屬性:

有上面帶參構造的**可知,static定義了health在測試檔案中就可以用類名直接呼叫。

如:dog1.health=100;

final表示固態,就是不可改變。如love就改不了30.

//dog檔案源**

public class dog 

}

//dog測試檔案的源**

public class dogtest 

}

在static的方法中必須使用靜態變數;在靜態方法中想使用其他類的非靜態方法,需要建立物件,使用物件名呼叫;如dog.name=「小黑」;

在靜態方法中使用其他靜態方法,如果是同乙個類檔案,直接呼叫,如果是不同類檔案,使用類名呼叫

靜態**塊:隨著類的載入而載入,優先於物件建立

static
如上就是乙個靜態**塊;

為什麼使用封裝:

將類的某些資訊隱藏在類內部

以防止物件屬性被任意訪問,不合理的賦值

封裝的概念:

封裝:將類的某些資訊隱藏在類內部,不允許外部程式直接訪問,而是通過該類提供的方法來實現對隱藏資訊的操作和訪問。

封裝的步驟:

修改屬性的可見性,設為private

建立共有的getter/setter方法,用於屬性的讀寫

在getter/setter方法中加入屬性控制語句,對屬性值的合法性進行判斷

例項://person檔案中的原始檔

//封裝

import sun.management.resources.agent;

public class person

//age入口

public void setage(int age)else }}

//person的測試檔案

public class persontest 

}

結果為:

若測試檔案最後兩行為:

per.setage(120);

system.out.println("年齡為:"+per.getage());

結果就為:

從上圖可知age被封裝了在測試檔案中不能使用物件修改,只能使用getter和setter方法呼叫。

this關鍵字 static關鍵字

1.當成員變數和區域性變數重名,可以用關鍵字this來區分 this 代表物件,代表那個物件呢?當前物件 this就是所在函式所屬物件的引用 簡單說 那個物件呼叫了this所在的函式,this就代表哪個物件 this也可以用於在建構函式中呼叫其他建構函式 注意 只能定義在建構函式的第一行,因為初始化...

構造方法 this關鍵字

一 什麼是類 類就是使用者自己定義的一種資料型別 二 什麼是物件 物件就是類的例項化 三 構造方法有哪些特點 對物件進行初始化 可以有不同的引數 1,構造方法的名字一定和類名相同 2,構造方法中不存在返回值 3,構造方法在建立物件時 例項化物件時被呼叫 四 方法有什麼特點 實現乙個物件的方法 相當於...

構造方法 this關鍵字

類中的特殊方法,主要用於建立物件 特點 名稱與類名完全相同 沒有返回值型別 建立物件時,觸發構造方法的呼叫,不可通過.手動呼叫 public class test 1 class 物件名 例子 有參 public 物件名 形參string name,string numb,int age 注意 如果...