程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> Java中的static的應用指南

Java中的static的應用指南

編輯:關於JAVA

Java中的static的應用指南。本站提示廣大學習愛好者:(Java中的static的應用指南)文章只能為提供參考,不一定能成為您想要的結果。以下是Java中的static的應用指南正文


1、Java中的static應用之靜態變量

1.Java 中被static潤飾的成員稱為靜態成員或類成員。它屬於全部類一切,而不是某個對象一切,即被類的一切對象所同享、且優先於對象存在。靜態成員可使用類名直接拜訪,也能夠應用對象名停止拜訪。應用 static 可以潤飾變量、辦法和代碼塊。

2.public 潤飾符表現地下的、私有的,靜態變量應用static潤飾

3.靜態辦法中可以直接挪用同類中的靜態成員,但不克不及直接挪用非靜態成員。

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

4.假如願望在靜態辦法中挪用非靜態變量,可以經由過程創立類的對象,然後經由過程對象來拜訪非靜態變量。 

public class HellWorld{
    String name = “Java”;//非靜態變量
    static String hobby = “program ”;//靜態變量
    //靜態辦法中挪用非靜態變量
    public static void print(){
      //創立類的對象
      HelloWorld hello=new HelloWorld();
      //經由過程對象來完成在靜態辦法中挪用非靜態變量
      System.out.println(“迎接您:”+hello.name+”!”);
      //靜態辦法中可以直接挪用靜態變量
      System.out.prinltn(“迎接愛好”+program+”的”+hello.name);
    }
  }

5.在通俗成員辦法中,則可以直接拜訪同類的非靜態變量和靜態變量 

public class HellWorld{
    String name = “Java”;//非靜態變量
    static String hobby = “ programing”;//靜態變量
    public void print(){//通俗辦法
      System.out.println(“迎接您:” + name + ” !”);
      System.out.prinltn(“迎接愛好”+program+”的”+hello.name);
    }
  }

 6.靜態辦法中不克不及直接挪用非靜態辦法,須要經由過程對象來拜訪非靜態辦法  

public class HellWorld{
    String name = “Java”;//非靜態變量
    static String hobby = “program ”;//靜態變量
    //非靜態辦法
    public void show(){
      System.out.println(“我長短靜態辦法,不克不及被靜態辦法直接挪用。。。”);
    }
    //靜態辦法
    public static void show2(){
      System.out.println(“我是靜態辦法,可以直接被靜態辦法挪用”);
    }
    //靜態辦法中經由過程對象來挪用非靜態辦法。可以直接挪用靜態辦法
    public static void print(){
      //創立類的對象
      HelloWorld hello=new HelloWorld();
      //經由過程對象來完成在靜態辦法中挪用非靜態辦法
      hello.show();
      //靜態辦法中可以直接挪用靜態辦法
      show2();
    }
  }

2、Java 中的 static 應用之靜態初始化塊

1.在類的聲明中,可以包括多個初始化塊,當創立類的實例時,就會順次履行這些代碼塊。假如應用 static 潤飾初始化塊,就稱為靜態初始化塊。

2.實例變量和類變量的差別:

a) 寄存地位:類變量跟著類的加載而寄存於辦法區中;實例變量跟著對象的樹立存在於堆內存中。

b) 性命周期:類變量性命周期最長,跟著類的消逝而消逝;實例變量性命周期跟著對象的消逝而消逝。

3.靜態初始化塊只在類加載時履行,且只會履行一次,同時靜態初始化塊只能給靜態變量賦值,不克不及初始化通俗的成員變量。法式運轉時,靜態初始化快先被履行並優先於主函數,然後履行通俗初始化塊,最初才履行結構辦法。

public class StaticDemo {
  int num1;//聲明變量1
  int num2;//聲明變量2
  static int num3;//聲明靜態變量3
  public StaticDemo(){//結構辦法
    num1 = 88;
    System.out.println("經由過程結構辦法為變量1賦值");
  }
  {//初始化塊
    num2 = 99;
    System.out.println("經由過程初始化塊為變量2賦值");
  }
  static{//靜態初始化這裡不克不及giel通俗變量賦值
    num3 = 77;
    System.out.println("經由過程靜態初始化塊為靜態變量3賦值");
  }
  public static void main(String[] args) {
    StaticDemo hello = new StaticDemo();//創立類的對象hello
    System.out.println("num1:" + hello.num1);
    System.out.println("num2:" + hello.num2);
    System.out.println("num3:" + hello.num3);
    StaticDemo hello1 = new StaticDemo();
  }
}

 運轉成果:

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved