<delect id="sj01t"></delect>
  1. <em id="sj01t"><label id="sj01t"></label></em>
  2. <div id="sj01t"></div>
    1. <em id="sj01t"></em>

            <div id="sj01t"></div>
            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

            <delect id="sj01t"></delect>
            1. <em id="sj01t"><label id="sj01t"></label></em>
            2. <div id="sj01t"></div>
              1. <em id="sj01t"></em>

                      <div id="sj01t"></div>
                      黄色视频在线观看