學(xué)習(xí)-java類和對象之static關(guān)鍵字之求圓環(huán)面積和周長(java static)

摘要: 您好,今天小編胡舒來為大家解答以上的問題。學(xué)習(xí)-java類和對象之static關(guān)鍵字之求圓環(huán)面積和周長,java static相信很多小伙伴還不知道,現(xiàn)在讓我們一起來看看吧!1、作...

您好,今天小編胡舒來為大家解答以上的問題。學(xué)習(xí)-java類和對象之static關(guān)鍵字之求圓環(huán)面積和周長,java static相信很多小伙伴還不知道,現(xiàn)在讓我們一起來看看吧!

1、作用  有時(shí)你希望定義一個(gè)類成員,使它的使用完全獨(dú)立于該類的任何對象。

2、通常情況下,類成員必須通過它的類的對象訪問,但是可以創(chuàng)建這樣一個(gè)成員,它能夠被它自己使用,而不必引用特定的實(shí)例。

3、在成員的聲明前面加上關(guān)鍵字static(靜態(tài)的)就能創(chuàng)建這樣的成員。

4、如果一個(gè)成員被聲明為static,它就能夠在它的類的任何對象創(chuàng)建之前被訪問,而不必引用任何對象。

5、你可以將方法和變量都聲明為static。

6、static 成員的最常見的例子是main( ) 。

7、因?yàn)樵诔绦蜷_始執(zhí)行時(shí)必須調(diào)用main() ,所以它被聲明為static。

8、  聲明為static的變量實(shí)質(zhì)上就是全局變量。

9、當(dāng)聲明一個(gè)對象時(shí),并不產(chǎn)生static變量的拷貝,而是該類所有的實(shí)例變量共同擁有一個(gè)static變量。

10、聲明為static的方法有以下幾條限制:  ·  它們僅能調(diào)用其他的static 方法。

11、  ·  它們只能訪問static數(shù)據(jù)。

12、  ·  它們不能以任何方式引用this 或super(關(guān)鍵字super 與繼承有關(guān))。

13、舉例  如果你需要通過計(jì)算來初始化你的static變量,你可以聲明一個(gè)static塊,Static 塊僅在該類被加載時(shí)執(zhí)行一次。

14、下面的例子顯示的類有一個(gè)static方法,一些static變量,以及一個(gè)static 初始化塊:  // Demonstrate static variables,methods,and blocks.  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語句被運(yùn)行。

15、首先,a被設(shè)置為3,接著static 塊執(zhí)行(打印一條消息),最后,b被初始化為a*4 或12。

16、然后調(diào)用main(),main() 調(diào)用meth() ,把值42傳遞給x。

17、3個(gè)println ( ) 語句引用兩個(gè)static變量a和b,以及局部變量x 。

18、  注意:在一個(gè)static 方法中引用任何實(shí)例變量都是非法的。

19、  下面是該程序的輸出:  Static block initialized.  x = 42  a = 3  b = 12。

本文就為大家分享到這里,希望小伙伴們會喜歡。