導航:首頁 > 編程語言 > javastatic調用

javastatic調用

發布時間:2023-01-06 16:00:00

java 靜態常量怎麼設置調用

1.static 靜態的。
a) 使用此修飾符修飾的屬性,其生命周期與類的生命周期相同。相對的沒有使用此修飾符修飾的屬性,生命周期與此類的某個實例的生命周期相同。也就意味著當,此類被卸載時,static變數才會被銷毀。
b) 使用此修飾符修飾的方法,可以直接使用類名.方法名的方式調用,相對的,沒有使用此修飾符修飾的方法,只能通過實例名.方法名的方式調用。(對於實例方法和靜態方法在微觀上的區別,還不是很理解,希望會的同學予以補全)
2.final 不可變的,使用此修飾符修飾的變數,值不可以重復賦值。也就意味著這時一個值不可變的變數,也就是常亮。

㈡ Java中static的作用

1.static 成員變數

在 Java 中還支持用 static 修飾的內部類,稱為靜態內部類。靜態成員內部類的特點主要是它本身是類相關的內部類,所以它可以不依賴於外部類實例而被實例化。靜態內部類不能訪問其外部類的實例成員(包括普通的成員變數和方法),只能訪問外部類的類成員(包括靜態成員變數和靜態方法)。即使是靜態內部類的實例方法(非靜態成員方法)也不能訪問其外部類的實例成員。

㈢ java中static怎麼用

static
屬於全局,也就是類的屬性
和方法,換句話說
一個類,不管有多少個實例,卻只有一個全局變數
class
B
{static
int
a=0;}
B
b1=new
B();..................;B
bn=new
B();
b1~bn
都是類B的實例,每個實例都共享
變數a,a是全局變數,屬於類B的屬性,每個實例都能引用變數a,
加入執行b1.a=1;後
那麼b2.a,b3.a,b4.a......bn.a
都等於1了,
static
方法也是類似的
需要注意的是
靜態屬性和方法屬於類方法,載入類後,就已經存在靜態屬性和方法,實例是需要用new構造出來後
才會有引用
根據先後順序,就有以下兩條規則
1、非靜態的方法可以調用靜態的或者非靜態的屬性和方法;
2、靜態的方法不可以調用非靜態的屬性和方法,因為非靜態的還不一定存在,只能先構造出來後,再通過實例引用
例如
在main方法中
可以直接調用static
的方法,調用非static方法
需要先構造出類的實例,通過實例才能調用方法

㈣ java中 static 使用

昏,這么簡單的東西。它說你的變數sid是不可見的。就是說,sid是私有的,private的,類外是不可用的。如果你想用它必須去掉private。
解決辦法1:將private static int sid = 0; 中的private去掉
解決辦法2:再類Cat中加入個方法
public static void setSid(int id){
sid = id;
}
然後主方法中Cat.sid = 100;改成Cat.setSid(100); mimi.sid = 2000;換成mimi.setSid(2000);
朋友,你沒理解private訪問控制符的特點

㈤ java中static怎麼用

static 屬於全局,也就是類的屬性 和方法,換句話說 一個類,不管有多少個實例,卻只有一個全局變數
class B {static int a=0;}
B b1=new B();..................;B bn=new B();
b1~bn 都是類B的實例,每個實例都共享 變數a,a是全局變數,屬於類B的屬性,每個實例都能引用變數a,
加入執行b1.a=1;後 那麼b2.a,b3.a,b4.a......bn.a 都等於1了,

static 方法也是類似的

需要注意的是 靜態屬性和方法屬於類方法,載入類後,就已經存在靜態屬性和方法,實例是需要用new構造出來後 才會有引用
根據先後順序,就有以下兩條規則
1、非靜態的方法可以調用靜態的或者非靜態的屬性和方法;
2、靜態的方法不可以調用非靜態的屬性和方法,因為非靜態的還不一定存在,只能先構造出來後,再通過實例引用
例如 在main方法中 可以直接調用static 的方法,調用非static方法 需要先構造出類的實例,通過實例才能調用方法

㈥ java中舉例證明static和非static成員如何相互調用

publicclass${

privatestaticStringTT="test";

publicstaticvoidmain(String[]args){

//static訪問非static
new$().test();
}

privatevoidtest(){
//非static訪問static
System.out.println(TT);
}
}

㈦ java中為什麼static的屬性或方法可以被類直接調用啊

應為static的屬性或方法是存放在棧裡面的,它們屬於類的信息,不需要new對象就可以直接使用,它們屬於類,而不是屬於某個new出來的對象,所以可以只接用類名加點號就可以引用,而一般的動態屬性是屬於某個對象的,它們是放在堆里的,所以要new出某個類的對象才能引用。就是這樣的

㈧ 請問java語言中的static的用法

1)static方法
static方法一般稱作靜態方法,由於靜態方法不依賴於任何對象就可以進行訪問,因此對於靜態方法來說,是沒有this的,因為它不依附於任何對象,既然都沒有對象,就談不上this了。並且由於這個特性,在靜態方法中不能訪問類的非靜態成員變數和非靜態成員方法,因為非靜態成員方法/變數都是必須依賴具體的對象才能夠被調用。
2)static變數
static變數也稱作靜態變數,靜態變數和非靜態變數的區別是:靜態變數被所有的對象所共享,在內存中只有一個副本,它當且僅當在類初次載入時會被初始化。而非靜態變數是對象所擁有的,在創建對象的時候被初始化,存在多個副本,各個對象擁有的副本互不影響。
3)static代碼塊
static關鍵字還有一個比較關鍵的作用就是
用來形成靜態代碼塊以優化程序性能。static塊可以置於類中的任何地方,類中可以有多個static塊。在類初次被載入的時候,會按照static塊的順序來執行每個static塊,並且只會執行一次。

㈨ java中的static如何使用

有時你希望定義一個類成員,使它的使用完全獨立於該類的任何對象。通常情況下,類成員必須通過它的類的對象訪問,但是可以創建這樣一個成員,它能夠被它自己使用,而不必引用特定的實例。在成員的聲明前面加上關鍵字static(靜態的)就能創建這樣的成員。如果一個成員被聲明為static,它就能夠在它的類的任何對象創建之前被訪問,而不必引用任何對象。你可以將方法和變數都聲明為static。static成員的最常見的例子是main( )。因為在程序開始執行時必須調用main(),所以它被聲明為static。聲明為static的變數實質上就是全局變數。當聲明一個對象時,並不產生static變數的拷貝,而是該類所有的實例變數共用同一個static變數。聲明為static的方法有以下幾條限制:· 它們僅能調用其他的static方法。· 它們只能訪問static數據。· 它們不能以任何方式引用this或super(關鍵字super與繼承有關,在下一章中描述)。 如果你需要通過計算來初始化你的static變數,你可以聲明一個static塊,Static塊僅在該類被載入時執行一次。下面的例子顯示的類有一個static方法,一些static變數,以及一個static 初始化塊: class UseStatic { static int a = 3; static int b; static void meth(int x) { System.out.println("x = " + x); System.out.println("a = " + a); System.out.println("b = " + b);} static { System.out.println("Static block initialized."); b = a * 4; } public static void main(String args[]) { 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 = 42a = 3b = 12在定義它們的類的外面,static方法和變數能獨立於任何對象而被使用。這樣,你只要在類的名字後面加點號運算符即可。例如,如果你希望從類外面調用一個static方法,你可以使用下面通用的格式:classname.method( )這里,classname 是類的名字,在該類中定義static方法。可以看到,這種格式與通過對象引用變數調用非static方法的格式類似。一static變數可以以同樣的格式來訪問——類名加點號運算符。這就是Java如何實現全局功能和全局變數的一個控製版本。下面是一個例子。在main()中,static方法callme()和static變數b在它們的類之外被訪問。class StaticDemo {static int a = 42;static int b = 99;static void callme() {System.out.println("a = " + a);}}class StaticByName {public static void main(String args[]) {StaticDemo.callme();System.out.println("b = " + StaticDemo.b);}}下面是該程序的輸出:a = 42b = 99static成員是不能被其所在class創建的實例訪問的。如果不加static修飾的成員是對象成員,也就是歸每個對象所有的。加static修飾的成員是類成員,就是可以由一個類直接調用,為所有對象共有的
閱讀全文

與javastatic調用相關的資料

熱點內容
輕量雲伺服器那個鏡像好用 瀏覽:875
403t壓縮空氣式霧化器 瀏覽:228
程序員走火入魔的表現 瀏覽:452
現在什麼編程語言高薪 瀏覽:548
該文件夾不在桌面 瀏覽:787
程序員入職第一天如何自我介紹 瀏覽:813
江蘇國稅網上認證伺服器地址 瀏覽:524
網站源碼使用教程 瀏覽:413
雲伺服器加機 瀏覽:168
影視後端源碼 瀏覽:747
榮耀8x怎麼升級安卓69 瀏覽:174
伺服器顯示內存溢出來怎麼辦 瀏覽:1003
什麼app可以找回貨 瀏覽:732
打tar包命令 瀏覽:589
北京網頁游戲編程培訓 瀏覽:255
5e游戲時間演算法 瀏覽:124
加密電子狗重裝硬碟怎麼設置 瀏覽:194
怎麼在mac上寫python 瀏覽:162
貓盤硬體加密 瀏覽:259
彎鋼玻璃計算器演算法 瀏覽:606