最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java中的static的使用指南

 更新時間:2016年04月23日 11:41:12   作者:神話丿小王子  
本文給大家簡單總結(jié)了下java中的static的使用注意事項及方法,非常的實用,有需要的小伙伴可以參考下

一、Java中的static使用之靜態(tài)變量

1.Java 中被static修飾的成員稱為靜態(tài)成員或類成員。它屬于整個類所有,而不是某個對象所有,即被類的所有對象所共享、且優(yōu)先于對象存在。靜態(tài)成員可以使用類名直接訪問,也可以使用對象名進(jìn)行訪問。使用 static 可以修飾變量、方法和代碼塊。

2.public 修飾符表示公開的、公有的,靜態(tài)變量使用static修飾

3.靜態(tài)方法中可以直接調(diào)用同類中的靜態(tài)成員,但不能直接調(diào)用非靜態(tài)成員。

public class HellWorld{
    String name = “Java”;//非靜態(tài)變量
    static String hobby = “ programing”;//靜態(tài)變量
    public static void print(){
      System.out.println(“歡迎您:” + name + ” !”);//不能直接調(diào)用非靜態(tài)變量
      System.out.println(“歡迎您:” + hobby + ” !”);//可以直接調(diào)用靜態(tài)變量
    }
  }

4.如果希望在靜態(tài)方法中調(diào)用非靜態(tài)變量,可以通過創(chuàng)建類的對象,然后通過對象來訪問非靜態(tài)變量。 

public class HellWorld{
    String name = “Java”;//非靜態(tài)變量
    static String hobby = “program ”;//靜態(tài)變量
    //靜態(tài)方法中調(diào)用非靜態(tài)變量
    public static void print(){
      //創(chuàng)建類的對象
      HelloWorld hello=new HelloWorld();
      //通過對象來實現(xiàn)在靜態(tài)方法中調(diào)用非靜態(tài)變量
      System.out.println(“歡迎您:”+hello.name+”!”);
      //靜態(tài)方法中可以直接調(diào)用靜態(tài)變量
      System.out.prinltn(“歡迎喜歡”+program+”的”+hello.name);
    }
  }

5.在普通成員方法中,則可以直接訪問同類的非靜態(tài)變量和靜態(tài)變量 

public class HellWorld{
    String name = “Java”;//非靜態(tài)變量
    static String hobby = “ programing”;//靜態(tài)變量
    public void print(){//普通方法
      System.out.println(“歡迎您:” + name + ” !”);
      System.out.prinltn(“歡迎喜歡”+program+”的”+hello.name);
    }
  }

 6.靜態(tài)方法中不能直接調(diào)用非靜態(tài)方法,需要通過對象來訪問非靜態(tài)方法  

public class HellWorld{
    String name = “Java”;//非靜態(tài)變量
    static String hobby = “program ”;//靜態(tài)變量
    //非靜態(tài)方法
    public void show(){
      System.out.println(“我是非靜態(tài)方法,不能被靜態(tài)方法直接調(diào)用。。?!?;
    }
    //靜態(tài)方法
    public static void show2(){
      System.out.println(“我是靜態(tài)方法,可以直接被靜態(tài)方法調(diào)用”);
    }
    //靜態(tài)方法中通過對象來調(diào)用非靜態(tài)方法。可以直接調(diào)用靜態(tài)方法
    public static void print(){
      //創(chuàng)建類的對象
      HelloWorld hello=new HelloWorld();
      //通過對象來實現(xiàn)在靜態(tài)方法中調(diào)用非靜態(tài)方法
      hello.show();
      //靜態(tài)方法中可以直接調(diào)用靜態(tài)方法
      show2();
    }
  }

二、Java 中的 static 使用之靜態(tài)初始化塊

1.在類的聲明中,可以包含多個初始化塊,當(dāng)創(chuàng)建類的實例時,就會依次執(zhí)行這些代碼塊。如果使用 static 修飾初始化塊,就稱為靜態(tài)初始化塊。

2.實例變量和類變量的區(qū)別:

a) 存放位置:類變量隨著類的加載而存放于方法區(qū)中;實例變量隨著對象的建立存在于堆內(nèi)存中。

b) 生命周期:類變量生命周期最長,隨著類的消失而消失;實例變量生命周期隨著對象的消失而消失。

3.靜態(tài)初始化塊只在類加載時執(zhí)行,且只會執(zhí)行一次,同時靜態(tài)初始化塊只能給靜態(tài)變量賦值,不能初始化普通的成員變量。程序運行時,靜態(tài)初始化快先被執(zhí)行并優(yōu)先于主函數(shù),然后執(zhí)行普通初始化塊,最后才執(zhí)行構(gòu)造方法。

public class StaticDemo {
  int num1;//聲明變量1
  int num2;//聲明變量2
  static int num3;//聲明靜態(tài)變量3
  public StaticDemo(){//構(gòu)造方法
    num1 = 88;
    System.out.println("通過構(gòu)造方法為變量1賦值");
  }
  {//初始化塊
    num2 = 99;
    System.out.println("通過初始化塊為變量2賦值");
  }
  static{//靜態(tài)初始化這里不能giel普通變量賦值
    num3 = 77;
    System.out.println("通過靜態(tài)初始化塊為靜態(tài)變量3賦值");
  }
  public static void main(String[] args) {
    StaticDemo hello = new StaticDemo();//創(chuàng)建類的對象hello
    System.out.println("num1:" + hello.num1);
    System.out.println("num2:" + hello.num2);
    System.out.println("num3:" + hello.num3);
    StaticDemo hello1 = new StaticDemo();
  }
}

 運行結(jié)果:

相關(guān)文章

  • Netty?拆包沾包問題解決方案詳解

    Netty?拆包沾包問題解決方案詳解

    這篇文章主要為大家介紹了Netty?拆包沾包問題解決方案示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11
  • Nacos進(jìn)程自動消失的原因分析

    Nacos進(jìn)程自動消失的原因分析

    當(dāng)使用低版本Nacos時,啟動后關(guān)閉窗口或執(zhí)行control+c會導(dǎo)致Nacos服務(wù)自動退出,原因是Nacos并未作為后臺進(jìn)程運行,解決方法是在啟動Nacos時,采用后臺進(jìn)程方式啟動,這樣即使關(guān)閉窗口,Nacos服務(wù)也不會退出,從而保證服務(wù)的持續(xù)運行
    2023-02-02
  • Java中如何用Stream分組并求各組數(shù)量

    Java中如何用Stream分組并求各組數(shù)量

    這篇文章主要給大家介紹了關(guān)于Java中如何用Stream分組并求各組數(shù)量的相關(guān)資料,文中通過實例代碼,對大家學(xué)習(xí)或者Java具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-07-07
  • Spring Boot + FreeMarker 實現(xiàn)動態(tài)Word文檔導(dǎo)出功能

    Spring Boot + FreeMarker 實現(xiàn)動態(tài)Word文檔導(dǎo)出功能

    Spring Boot與FreeMarker的組合,為開發(fā)者提供了一個強(qiáng)大的平臺,可以輕松實現(xiàn)動態(tài)Word文檔的導(dǎo)出,本文將指導(dǎo)你如何使用Spring Boot與FreeMarker模板引擎,創(chuàng)建一個簡單的應(yīng)用,用于根據(jù)數(shù)據(jù)庫數(shù)據(jù)動態(tài)生成Word文檔并下載,感興趣的朋友一起看看吧
    2024-06-06
  • Java equals 方法與hashcode 方法的深入解析

    Java equals 方法與hashcode 方法的深入解析

    面試時經(jīng)常會問起字符串比較相關(guān)的問題,比如:字符串比較時用的什么方法,內(nèi)部實現(xiàn)如何?hashcode的作用,以及重寫equal方法,為什么要重寫hashcode方法?以下就為大家解答,需要的朋友可以參考下
    2013-07-07
  • Eclipse創(chuàng)建java程序可執(zhí)行jar包教程

    Eclipse創(chuàng)建java程序可執(zhí)行jar包教程

    這篇文章主要為大家分享了Eclipse創(chuàng)建java程序可執(zhí)行jar包教程,具有一定的實用性和參考價值,感興趣的小伙伴們可以參考一下
    2016-05-05
  • SpringBoot實現(xiàn)自定義注解用于文件驗證的詳細(xì)過程(大小、擴(kuò)展名、MIME類型)

    SpringBoot實現(xiàn)自定義注解用于文件驗證的詳細(xì)過程(大小、擴(kuò)展名、MIME類型)

    SpringBoot,Spring Cloud中經(jīng)常需要處理文件上傳的功能,為了確保上傳的文件滿足特定的要求(如擴(kuò)展名、MIME類型和文件大?。?我們可以創(chuàng)建一個自定義注解來簡化驗證過程,需要的朋友可以參考下
    2024-08-08
  • java使用@Scheduled注解執(zhí)行定時任務(wù)

    java使用@Scheduled注解執(zhí)行定時任務(wù)

    這篇文章主要給大家介紹了關(guān)于java使用@Scheduled注解執(zhí)行定時任務(wù)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • 使用SSM+Layui+Bootstrap實現(xiàn)汽車維保系統(tǒng)的示例代碼

    使用SSM+Layui+Bootstrap實現(xiàn)汽車維保系統(tǒng)的示例代碼

    本文主要實現(xiàn)對汽車維修廠的信息化管理功能,。實現(xiàn)的主要功能包含用戶管理、配置管理、汽車管理、故障管理、供應(yīng)商管理、配件管理、維修訂單管理、統(tǒng)計信息、公告管理、個人信息管理,感興趣的可以了解一下
    2021-12-12
  • Java中實現(xiàn)將jar包內(nèi)文件資源釋放出來

    Java中實現(xiàn)將jar包內(nèi)文件資源釋放出來

    這篇文章主要介紹了Java中實現(xiàn)將jar包內(nèi)文件資源釋放出來的方法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-08-08

最新評論

历史| 泾川县| 大埔区| 荔浦县| 鄂尔多斯市| 陕西省| 闽清县| 怀化市| 广东省| 万州区| 福贡县| 营山县| 奉新县| 中牟县| 高唐县| 灵寿县| 商水县| 长白| 昌都县| 中山市| 土默特左旗| 翁牛特旗| 左贡县| 四平市| 巴塘县| 盱眙县| 德保县| 城步| 威远县| 罗源县| 阿合奇县| 平远县| 清苑县| 德州市| 花莲县| 桃源县| 定兴县| 高淳县| 宜阳县| 台中市| 股票|