亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Java中的static的使用指南

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

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

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

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

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

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

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

public class HellWorld{
    String name = “Java”;//非靜態(tài)變量
    static String hobby = “program ”;//靜態(tài)變量
    //靜態(tài)方法中調用非靜態(tài)變量
    public static void print(){
      //創(chuàng)建類的對象
      HelloWorld hello=new HelloWorld();
      //通過對象來實現(xiàn)在靜態(tài)方法中調用非靜態(tài)變量
      System.out.println(“歡迎您:”+hello.name+”!”);
      //靜態(tài)方法中可以直接調用靜態(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)方法中不能直接調用非靜態(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)方法直接調用。。?!?;
    }
    //靜態(tài)方法
    public static void show2(){
      System.out.println(“我是靜態(tài)方法,可以直接被靜態(tài)方法調用”);
    }
    //靜態(tài)方法中通過對象來調用非靜態(tài)方法??梢灾苯诱{用靜態(tài)方法
    public static void print(){
      //創(chuàng)建類的對象
      HelloWorld hello=new HelloWorld();
      //通過對象來實現(xiàn)在靜態(tài)方法中調用非靜態(tài)方法
      hello.show();
      //靜態(tài)方法中可以直接調用靜態(tài)方法
      show2();
    }
  }

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

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

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

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

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

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

public class StaticDemo {
  int num1;//聲明變量1
  int num2;//聲明變量2
  static int num3;//聲明靜態(tài)變量3
  public StaticDemo(){//構造方法
    num1 = 88;
    System.out.println("通過構造方法為變量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();
  }
}

 運行結果:

相關文章

  • Java 實現(xiàn)簡單靜態(tài)資源Web服務器的示例

    Java 實現(xiàn)簡單靜態(tài)資源Web服務器的示例

    這篇文章主要介紹了Java 實現(xiàn)簡單靜態(tài)資源Web服務器的示例,幫助大家更好的理解和使用Java,感興趣的朋友可以了解下
    2020-11-11
  • Java案例使用集合方法實現(xiàn)統(tǒng)計任意字符串中字符出現(xiàn)的次數

    Java案例使用集合方法實現(xiàn)統(tǒng)計任意字符串中字符出現(xiàn)的次數

    這篇文章主要介紹了Java案例使用集合方法實現(xiàn)統(tǒng)計任意字符串中字符出現(xiàn)的次數,下面我們將用兩種方法實現(xiàn),需要的小伙伴可以參考一下文章具體內容
    2022-04-04
  • java Future 接口使用方法詳解

    java Future 接口使用方法詳解

    這篇文章主要介紹了java Future 接口使用方法詳解,F(xiàn)uture接口是Java線程Future模式的實現(xiàn),可以來進行異步計算的相關資料,需要的朋友可以參考下
    2017-03-03
  • java算法之二分查找法的實例詳解

    java算法之二分查找法的實例詳解

    這篇文章主要介紹了java算法之二分查找法的實例詳解的相關資料,這里提供簡單實例幫助大家學習理解這部分內容,需要的朋友可以參考下
    2017-08-08
  • springboot集成flyway自動創(chuàng)表的詳細配置

    springboot集成flyway自動創(chuàng)表的詳細配置

    Flayway是一款數據庫版本控制管理工具,支持數據庫版本自動升級,Migrations可以寫成sql腳本,也可以寫在java代碼里;本文通過實例代碼給大家介紹springboot集成flyway自動創(chuàng)表的詳細過程,感興趣的朋友一起看看吧
    2021-06-06
  • Java Mybatis框架Dao層的實現(xiàn)與映射文件以及核心配置文件詳解分析

    Java Mybatis框架Dao層的實現(xiàn)與映射文件以及核心配置文件詳解分析

    MyBatis 是一款優(yōu)秀的持久層框架,它支持自定義 SQL、存儲過程以及高級映射。MyBatis 免除了幾乎所有的 JDBC 代碼以及設置參數和獲取結果集的工作。MyBatis 可以通過簡單的 XML 或注解來配置和映射原始類型、接口和 Java POJO為數據庫中的記錄
    2021-10-10
  • Java8中接口的新特性測試

    Java8中接口的新特性測試

    今天小編就為大家分享一篇關于Java8中接口的新特性測試,小編覺得內容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-12-12
  • 說說Spring中為何要引入Lookup注解

    說說Spring中為何要引入Lookup注解

    這篇文章主要給大家介紹了關于Spring中為何要引入Lookup注解的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-01-01
  • 關于HashMap相同key累加value的問題

    關于HashMap相同key累加value的問題

    這篇文章主要介紹了關于HashMap相同key累加value的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • GateWay動態(tài)路由與負載均衡詳細介紹

    GateWay動態(tài)路由與負載均衡詳細介紹

    這篇文章主要介紹了GateWay動態(tài)路由與負載均衡,GateWay支持自動從注冊中心中獲取服務列表并訪問,即所謂的動態(tài)路由
    2022-11-11

最新評論