<address id="ousso"></address>
<form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
  1. java語言

    Java 中靜態變量和實例變量區別

    時間:2025-03-05 12:34:25 java語言 我要投稿
    • 相關推薦

    Java 中靜態變量和實例變量區別

      Java的標準指的是一種作為應用層封裝的標準,使用Java可以調用一些底層的操作。下面是小編分享的Java 中靜態變量和實例變量區別,歡迎大家參考!

      靜態變量屬于類,該類不生產對象,通過類名就可以調用靜態變量。

      實例變量屬于該類的對象,必須產生該類對象,才能調用實例變量。

      在程序運行時的區別:

      實例變量屬于某個對象的屬性,必須創建了實例對象,其中的實例變量才會被分配空間,才能使用這個實例變量。

      靜態變量不屬于某個實例對象,而是屬于類,所以也稱為類變量,只要程序加載了類的字節碼,不用創建任何實例對象,靜態變量就會被分配空間,靜態變量就可以被使用了。

      總之,實例變量必須創建對象后才可以通過這個對象來使用,靜態變量則可以直接使用類名來引用。

      例如,對于下面的程序,無論創建多少個實例對象,

      永遠都只分配了一個 staticInt 變量,并且每創建一個實例對象,這個 staticInt 就會加 1;但是,每創建一個實例對象,就會分配一個 random,

      即可能分配多個 random ,并且每個 random 的值都只自加了1次。

      public class StaticTest {

      private static int staticInt = 2;

      private int random = 2;

      public StaticTest() {

      staticInt++;

      random++;

      System.out.println("staticInt = "+staticInt+" random = "+random);

      }

      public static void main(String[] args) {

      StaticTest test = new StaticTest();

      StaticTest test2 = new StaticTest();

      }

      }

      執行以上程序,輸出結果為:

      staticInt = 3 random = 3

      staticInt = 4 random = 3

      h七寶 h七寶

      135***8724@qq.com

      參考地址5個月前 (03-09)

      大白小愛

      362***275@qq.com靜態變量是用來聲明規則的,一旦固定都是用用來引用的,類似社會中的法律,規定好后你只能拿來說。但是也可以改的,通過重新的聲明法律就行。

      大白小愛 大白小愛

      362***275@qq.com5個月前 (03-25)

      stinkaroo

      190***276@qq.comjava 實例變量在整個類內部是可訪問的,而不管實例變量聲明在類的哪個位置。

      import java.io.*;

      public class Employee{

      public Employee (String empName){

      name = empName;

      }

      public void setSalary(double empSal){

      salary = empSal;

      }

      public void printEmp(){

      System.out.println("name:" + name);

      System.out.println("salary:" + salary);

      }

      public static void main(String args[]){

      Employee empOne = new Employee("RUNOOB");

      empOne.setSalary(1000);

      empOne.printEmp();

      System.out.println(empOne.salary);

      }

      public String name;

      private double salary;

      }

      比如在上面代碼中,盡管實例變量聲明在類的尾部,在之前方法中仍可訪問。

      stinkaroo stinkaroo

      190***276@qq.com3個月前 (05-09)

      九仞

      528***187@qq.com類變量賦值方法

      無final修飾,聲明時賦值,構造器中賦值,靜態語句塊或靜態方法賦值

      有final修飾,聲明時賦值,聲明與賦值分開可在靜態語句塊中賦值

      public class StaticTest {

      private static int staticInt = 2;

      private int random = 2;

      public StaticTest() {

      staticInt++;

      random++;

      }

      public static void main(String[] args) {

      System.out.println("類變量與對象變量的值變化");

      StaticTest test = new StaticTest();

      System.out.println(" 實例1:staticInt:" + test.staticInt + "----random:" + test.random);

      StaticTest test2 = new StaticTest();

      System.out.println(" 實例2:staticInt:" + test.staticInt + "----random:" + test.random);

      System.out.println("靜態變量賦值");

      System.out.println(" 靜態語句塊起作用:" + A.staticA);

      A a = new A();

      System.out.println(" 構造器起作用:" + a.staticA);

      a.toChange();

      System.out.println(" 靜態方法1起作用:" + A.staticA);

      a.toChange2();

      System.out.println(" 靜態方法2起作用:" + A.staticA);

      System.out.println("常量賦值");

      System.out.println(" 靜態語句賦值:" + B.staticB);

      }

      }

      class A {

      public static String staticA ="A" ;

      //靜態語句塊修改值

      static{ staticA ="A1"; }

      //構造器修改值

      public A (){ staticA ="A2"; }

      //靜態方法起作用

      public static void toChange(){ staticA ="A3"; }

      public static void toChange2(){ staticA ="A4"; }

      }

      class B {

      public static final String staticB ; // 聲明與賦值分離

      static{ staticB ="B"; }

      }

      九仞 九仞

      528***187@qq.com2個月前 (06-14)

      Smiley

      448***628@qq.com類變量與實例變量的區別

      類變量可在類中直接使用,實例變量需實例化后才能使用。

      public class StaticTest {

      private static int staticInt = 2;

      private int random = 2;

      public static void main(String[] args) {

      System.out.println(staticInt);

      StaticTest test = new StaticTest();

      System.out.println(test.random);

    【Java 中靜態變量和實例變量區別】相關文章:

    JAVA語言中的實例變量06-01

    Java常量和變量06-17

    Java語言中變量和常量之間的區別11-12

    php靜態成員變量06-22

    Java 變量類型10-01

    Java的特殊變量10-12

    java變量和常量是什么08-25

    理解java和python類變量10-06

    Java中靜態綁定和動態綁定的區別08-14

    <address id="ousso"></address>
    <form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
    1. 日日做夜狠狠爱欧美黑人