當前位置:首頁 » 編程語言 » javathisstatic

javathisstatic

發布時間: 2022-09-27 03:52:45

java中static與this區別及使用

static:靜態修飾符
static表示「全局」或者「靜態」的意思,用來修飾成員變數和成員方法,也可以形成靜態static代碼塊,但是Java語言中沒有全局變數的概念。
this:代表當前的對象

this關鍵字主要有三個應用:
(1)this調用本類中的屬性,也就是類中的成員變數;
(2)this調用本類中的其他方法;
(3)this調用本類中的其他構造方法,調用時要放在構造方法的首行。

⑵ Java: this 不能用於static 方法的詳細原因

因為被static修飾的函數,在程序被初始化的時候已經載入進內存了,這是為了以後可以直接由類來調用,而this關鍵字寫在static函數內,指代的是此class的實例化對象

由於static方法初始化後會放在全局數據區,this代表的變數還沒有被實例化,此時編譯不通過的

⑶ java中this為什麼不能在static方法中使用呢

static的目的是使方法或屬性獨立於類的實例,使用類去訪問,而不是實例(但實例也可以訪問),所以他修飾的方法或屬性也叫全局方法或屬性。
而像super或是this,他們都是相對與某個對象而言的,跟具體的一個對象相關聯,而static是相對於類而言的,所以不能在static里用this或是super。

一樓的兄台說錯了,就算你加上static也不可以,不信你到main方法里用this調用個靜態方法試試看~~

⑷ java中為什麼在static中不能使用this關鍵字

在方法中定義使用的this關鍵字,它的值是當前對象的引用.也就是說你只能用它來調用屬於當前對象的方法或者使用this處理方法中成員變數和局部變數重名的情況.
而且,更為重要的是this和super都無法出現在static 修飾的方法中,static 修飾的方法是屬於類的,該方法的調用者可能是一個類,而不是對象.如果使用的是類來調用而不是對象,則 this就無法指向合適的對象.所以static 修飾的方法中不能使用this.

⑸ java語言中this和static怎麼用呢

this指的是當前對象的指針
static表示靜態,靜態的東西存放的位置與普通變數不一樣,生存期,有效期,作用域都不一樣

⑹ Java static方法里為什麼不能使用this關鍵字

this表示當前類的對象,由static修飾的方法是由類直接調用,不需要創建對象,所以在static里不能用this.

⑺ 我不知道java中this與static有什麼沖突

你是不是哪裡理解錯了,this一般就是作為某個對象來引用的,而static是靜態的,創建時機不一樣的,所以static的反而不能用this引用才對啊。
再說你這個方法,這個this引用的不是你的i,是一個Leaf對象,這個i是這個對象的成員屬性,你的測試中就是調用了兩次increament方法,修改了這個對象的成員屬性值

⑻ Java static方法里為什麼不能使用this關鍵字

java中的static是類區域,換句話說就是所有該類的所有實例共享的區域,而this指的是當前的類實例索引。在類區域中是無法確定某個類實例的。
eg。
class A
{
private static Stirng Static = "123";
}

這個字元串Static所有A的實例都可以訪問到。

反過來,

class A
{
public static void fun()
{
this // 這里不能使用 因為 static區域內不能確定是某個特定的A的實例
}
}

熱點內容
app什麼情況下找不到伺服器 發布:2025-05-12 15:46:25 瀏覽:714
php跳過if 發布:2025-05-12 15:34:29 瀏覽:467
不定時演算法 發布:2025-05-12 15:30:16 瀏覽:131
c語言延時1ms程序 發布:2025-05-12 15:01:30 瀏覽:166
動物園靈長類動物配置什麼植物 發布:2025-05-12 14:49:59 瀏覽:736
wifi密碼設置什麼好 發布:2025-05-12 14:49:17 瀏覽:148
三位數乘兩位數速演算法 發布:2025-05-12 13:05:48 瀏覽:398
暴風影音緩存在哪裡 發布:2025-05-12 12:42:03 瀏覽:544
access資料庫exe 發布:2025-05-12 12:39:04 瀏覽:631
五開的配置是什麼 發布:2025-05-12 12:36:37 瀏覽:365