當前位置:首頁 » 編程語言 » 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的實例
}
}

熱點內容
現在玩lol要什麼配置 發布:2024-12-27 13:17:30 瀏覽:224
vs2012添加文件夾 發布:2024-12-27 13:01:27 瀏覽:899
c語言統計單詞數 發布:2024-12-27 12:58:09 瀏覽:57
手機服務密碼怎麼知道 發布:2024-12-27 12:51:44 瀏覽:465
oraclelinux使用 發布:2024-12-27 12:46:04 瀏覽:481
相冊密碼在哪裡開 發布:2024-12-27 12:40:29 瀏覽:270
壓縮解壓支持庫 發布:2024-12-27 12:31:46 瀏覽:712
php過濾注入 發布:2024-12-27 12:26:48 瀏覽:842
安卓手機怎麼看手機配置 發布:2024-12-27 12:25:54 瀏覽:34
winccc腳本屬性函數 發布:2024-12-27 12:25:15 瀏覽:61