類的靜態成員

2022-10-09 13:12:10 字數 1483 閱讀 4163

宣告靜態成員使用static修飾符。

所謂靜態就是指在編譯後分配的記憶體會一直存在,直到程式退出時才會釋放記憶體空間。

乙個類中的靜態成員可以是靜態字段,也可以有靜態方法,靜態成員不需要建立物件後使用,可以直接使用類名來引用,例如:

有乙個學生類,如下:

public class student 

}

在main方法中呼叫printhello方法不需要例項化物件,而可以直接用類名來呼叫。

student.printhello();   //此時可以列印"全體學生歡迎您!"
靜態成員是類級別的,是所有物件共享的資料,如果在學生類中,有乙個欄位來記錄學生人數,此時不使用靜態成員將無法記錄學生人數,例如:

public class student
在main方法中建立學生,並且每建立乙個學生,給學生人數+1

student stu1 = new student();

stu1.no = "001";

stu1.name = "劉備";

stu1.count++;

student stu2 = new student();

stu2.no = "001";

stu2.name = "劉備";

stu2.count++;

student stu3 = new student();

stu3.no = "001";

stu3.name = "劉備";

stu3.count++;

console.writeline("學生人數:" + stu3.count); //此時有三個學生,但是列印的學生人數仍然是1.

通過以上**我們可以看出,學生人數並沒有增加,實際上三個物件都單獨擁有學生人數的字段,並且毫無關聯。

此時我們可以使用靜態成員解決此問題,**如下,例如:

public class student
在main方法中建立學生,並且每建立乙個學生,給學生人數+1

student stu1 = new student();

stu1.no = "001";

stu1.name = "劉備";

student.count++;

student stu2 = new student();

stu2.no = "001";

stu2.name = "劉備";

student.count++;

student stu3 = new student();

stu3.no = "001";

stu3.name = "劉備";

student.count++;

console.writeline("學生人數:" + student.count); //此時可以列印學生人數為3

類靜態成員和類靜態成員函式

當將類的某個資料成員宣告為static時,該靜態資料成員只能被定義一次,而且要被同類的所有物件共享。各個物件都擁有類中每乙個普通資料成員的副本,但靜態資料成員只有乙個例項存在,與定義了多少類物件無關。靜態方法就是與該類相關的,是類的一種行為,而不是與該類的例項物件相關。靜態資料成員的用途之一是統計有...

類的靜態成員

類的靜態成員存在於任何物件之外,物件中不包含任何與靜態資料成員有關的資料。class account 對於account的每乙個物件豆漿包含owner和amount兩個資料成員,而對於靜態成員interestrate只有乙個,且被所有的物件共享。double r r account rate 2.使...

類的靜態成員

1,static靜態成員,靜態成員 變數 or 函式 可以是public or private,訪問許可權與普通 非static 成員一樣,受到限定符限制 2,靜態成員 變數 or 函式 不與任何物件繫結在一起,而是被所有物件共享 特別是靜態成員函式,它不包含this 指標引數 3.public靜態...