導航:首頁 > 編程語言 > javastatic什麼時候

javastatic什麼時候

發布時間:2022-03-09 05:32:27

⑴ 在java中什麼時候使用static ,static是不是等於全局變數

static是靜態變數,並不是常量,全局變數是相對於局部變數來說的,全局變數可以改變,在程序的任何地方都可以讀取和修改,而局部變數只能在語句塊內作用,超出作用范圍就失效了.

靜態變數(static)是相對自動變數(auto)等而言的,一旦聲明為靜態變數,在編譯時刻開始永遠存在,不受作用域范圍約束,但是如果是局部靜態變數,則此靜態變數只能在局部作用域內使用,超出范圍不能使用,但是它確實還佔用內存,還存在.自動變數就是一般的變數,在C語言中auto關鍵字可以省略.
int d;//全局變數
static int a;//靜態全局變數
void func()
{
int c;//局部變數
}
main()
{
static int d;//靜態局部變數
int b;//局部變數
}

⑵ java中什麼時候該用static修飾方法有什麼好處或者壞處

有時你希望定義一個類成員,使它的使用完全獨立於該類的任何對象。通常情況下,類成員必須通過它的類的對象訪問,但是可以創建這樣一個成員,它能夠被它自己使用,而不必引用特定的實例。在成員的聲明前面加上關鍵字static(靜態的)就能創建這樣的成員。如果一個成員被聲明為static,它就能夠在它的類的任何對象創建之前被訪問,而不必引用任何對象。你可以將方法和變數都聲明為static。static 成員的最常見的例子是main( ) 。因為在程序開始執行時必須調用main() ,所以它被聲明為static。

聲明為static的變數實質上就是全局變數。當聲明一個對象時,並不產生static變數的拷貝,而是該類所有的實例變數共用同一個static變數。聲明為static的方法有以下幾條限制:
·
它們僅能調用其他的static 方法。
·
它們只能訪問static數據。
·
它們不能以任何方式引用this 或super(關鍵字super 與繼承有關,在下一章中描述)。
如果你需要通過計算來初始化你的static變數,你可以聲明一個static塊,Static 塊僅在該類被載入時執行一次。下面的例子顯示的類有一個static方法,一些static變數,以及一個static 初始化塊:
// Demonstrate static variables,methods,and blocks.


classUseStatic{
staticinta=3;
staticintb;

staticvoidmeth(intx){
System.out.println("x="+x);
System.out.println("a="+a);
System.out.println("b="+b);

}

static{
System.out.println("Staticblockinitialized.");
b=a*4;

}

publicstaticvoidmain(Stringargs[]){
meth(42);
}
}


一旦UseStatic 類被裝載,所有的static語句被運行。首先,a被設置為3,接著static 塊執行(列印一條消息),最後,b被初始化為a*4 或12。然後調用main(),main() 調用meth() ,把值42傳遞給x。3個println ( ) 語句引用兩個static變數a和b,以及局部變數x 。

注意:在一個static 方法中引用任何實例變數都是非法的。

下面是該程序的輸出:

Static block initialized.
x = 42
a = 3
b = 12
在定義它們的類的外面,static 方法和變數能獨立於任何對象而被使用。這樣,你只要在類的名字後面加點號運算符即可。例如,如果你希望從類外面調用一個static方法,你可以使用下面通用的格式:

classname.method( )

這里,classname 是類的名字,在該類中定義static方法。可以看到,這種格式與通過對象引用變數調用非static方法的格式類似。一個static變數可以以同樣的格式來訪問——類名加點號運算符。這就是Java 如何實現全局功能和全局變數的一個控製版本。

下面是一個例子。在main() 中,static方法callme() 和static 變數b在它們的類之外被訪問。


classStaticDemo{
staticinta=42;
staticintb=99;
staticvoidcallme(){

System.out.println("a="+a);
}
}

classStaticByName{

publicstaticvoidmain(Stringargs[]){
StaticDemo.callme();
System.out.println("b="+StaticDemo.b);

}
}


下面是該程序的輸出:

a = 42
b = 99

⑶ java 什麼時候用static

當一個方法或者變數需要初始化載入,或者是經常被調用的時候可以加上static。
用static修飾的方法可以用類名. 直接調用,不用的一定要先實例化一個對象然後才可以調用

⑷ java什麼時候用static

static可以修飾變數,方法,類。
1)修飾變數,變數內存中只有一份,即使創建多個類,這個變數在內存也只有一份,所有對象都引用這一個變數。且訪問這個變數可以直接用類名.變數名訪問,跟是否有對象實例無關
2)修飾方法,該方法在虛擬機載入主方法時就會被創建,用類名.方法名可以直接調用,跟是否有對象實例無關
3)Java裡面static一般用來修飾成員變數或函數。但有一種特殊用法是用static修飾內部類。修飾內部類不用創建實例,外部類知己使用

⑸ java 中的static 存在時間問題

final表示不可以修改,和c++的const一樣

static的變數,從定義開始,一直到程序結束都是存在的,就算這個對象被銷毀了,依然存在,
比如有一個類A,其中有一個靜態變數s,

定義A a;

a.s=1;

則即使
a=null;
A b;
b中的s還是1

⑹ java中,什麼時候用static修飾method

⑺ java static 方法 什麼時候執行

當然是被調用時執行,而static塊是在java虛擬機載入這個類時,就被執行。

⑻ java中static什麼時候使用,知道static是靜態變數

聲明為static的變數實質上就是全局變數。當聲明一個對象時,並不產生static變數的拷貝,而是該類所有的實例變數共用同一個static變數。聲明為static的方法有以下幾條限制: ◆它們僅能調用其他的static 方法。 ◆它們只能訪問static數據。 ◆它們不java中static什麼時候使用,知道static是靜態變數

⑼ java static 一般都什麼時候能用呢

一般情況下,如果有些代碼必須在項目啟動的時候就執行的時候,需要使用靜態代碼塊,這種代碼是主動執行的;需要在項目啟動的時候就初始化,在不創建對象的情況下,其他程序來調用的時候,需要使用靜態方法,這種代碼是被動執行的. 靜態方法在類載入的時候 就已經載入 可以用類名直接調用
比如main方法就必須是靜態的 這是程序入口
兩者的區別就是:靜態代碼塊是自動執行的;
靜態方法是被調用的時候才執行的.
靜態方法
(1)在Java里,可以定義一個不需要創建對象的方法,這種方法就是靜態方法。要實現這樣的效果,只需要在類中定義的方法前加上static關鍵字。例如:
public static int maximum(int n1,int n2)
使用類的靜態方法時,注意:

a在靜態方法里只能直接調用同類中其他的靜態成員(包括變數和方法),而不能直接訪問類中的非靜態成員。這是因為,對於非靜態的方法和變數,需要先創建類的實例對象後才可使用,而靜態方法在使用前不用創建任何對象。
b 靜態方法不能以任何方式引用this和super關鍵字,因為靜態方法在使用前不用創建任何實例對象,當靜態方法調用時,this所引用的對象根本沒有產生。
(2)靜態變數是屬於整個類的變數而不是屬於某個對象的。注意不能把任何方法體內的變數聲明為靜態,例如:
fun()
{
static int i=0;//非法。
}
(3)一個類可以使用不包含在任何方法體中的靜態代碼塊,當類被載入時,靜態代碼塊被執行,且只被執行一次,靜態塊常用來執行類屬性的初始化。例如:
static
{
}
http://www.cnblogs.com/panjun-Donet/archive/2010/08/10/1796209.html

⑽ java static方法什麼時候執行

先說一下static方法的特點吧。
方法被定義為static就表示這個方法不需要聲明類的實例即可執行;比如main方法。而某個類成員被定義為static的時候,它就幾乎完全獨立於這個類了。
根據think in java2 還有java參考大全中所述,static方法在類剛剛被載入的時候就執行了。
因此,可以說,static方法是在對程序進行解釋的時候執行。

閱讀全文

與javastatic什麼時候相關的資料

熱點內容
優信二手車解壓後過戶 瀏覽:62
Windows常用c編譯器 瀏覽:778
關於改善國家網路安全的行政命令 瀏覽:833
安卓如何下載網易荒野pc服 瀏覽:654
javainetaddress 瀏覽:104
蘋果4s固件下載完了怎麼解壓 瀏覽:1003
命令zpa 瀏覽:286
python編譯器小程序 瀏覽:945
在app上看視頻怎麼光線調暗 瀏覽:540
可以中文解壓的解壓軟體 瀏覽:593
安卓卸載組件應用怎麼安裝 瀏覽:913
使用面向對象編程的方式 瀏覽:339
程序員項目經理的年終總結範文 瀏覽:929
內衣的加密設計用來幹嘛的 瀏覽:433
淮安數據加密 瀏覽:292
魔高一丈指標源碼 瀏覽:982
松下php研究所 瀏覽:168
c回調java 瀏覽:401
夢幻端游長安地圖互通源碼 瀏覽:746
電腦本地文件如何上傳伺服器 瀏覽:313