日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java学习笔记之static

發布時間:2025/7/14 java 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java学习笔记之static 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.static可以用于修飾成員變量、方法以及塊,并不會改變類中成員的權限修飾,如:private修飾的成員變量,類外只能類名或非私有方法調用,而不能使用對象名調用。

2.static方法和成員變量,可使用類名直接調用,而不需要實例化:類名.方法名();類名.變量名();

  也可以實例化后,使用對象名調用。

3.static方法(靜態方法):

  3.1 靜態方法中,沒有this,因為沒有創建對象;

  3.2 靜態方法中不能調用非靜態成員變量、方法,但非靜態方法可以調用靜態成員變量、方法;

4.static變量(靜態變量):

  4.1 靜態變量在類第一次加載時,就會初始化并賦值;

  4.2 每一個靜態變量在內存中都是只有一個副本,所有對象共享這個副本,無論哪個對象或是類名調用修改,都會使之變化;

  4.3 static不能用于修飾局部變量,這是Java語法規定的。

5.static塊:

  5.1 靜態塊可以在類的任何位置定義,會在類第一次加載時,依次調用,并且只調用一次,即還沒創建對象便已調用:

    

public class Test extends Base{static{System.out.println("test static");}public Test(){System.out.println("test constructor");}public static void main(String[] args) {new Test();} }class Base{static{System.out.println("base static");}public Base(){System.out.println("base constructor");} } base static test static base constructor test constructor View Code

執行過程:先要尋找到main方法,因為main方法是程序的入口,但是在執行main方法之前,必須先加載Test類,而在加載Test類的時候發現Test類繼承自Base類,因此會轉去先加載Base類,在加載Base類的時候,發現有static塊,便執行了static塊。在Base類加載完成之后,便繼續加載Test類,然后發現Test類中也有static塊,便執行static塊。在加載完所需的類之后,便開始執行main方法。在main方法中執行new Test()的時候會先調用父類的構造器,然后再調用自身的構造器。因此,便出現了上面的輸出結果。

?

轉載于:https://www.cnblogs.com/qingyibusi/p/5769377.html

總結

以上是生活随笔為你收集整理的Java学习笔记之static的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。