亚洲精品中文字幕无乱码_久久亚洲精品无码AV大片_最新国产免费Av网址_国产精品3级片

java語(yǔ)言

Java 中靜態(tài)變量和實(shí)例變量區(qū)別

時(shí)間:2024-09-21 08:01:12 java語(yǔ)言 我要投稿
  • 相關(guān)推薦

Java 中靜態(tài)變量和實(shí)例變量區(qū)別

  Java的標(biāo)準(zhǔn)指的是一種作為應(yīng)用層封裝的標(biāo)準(zhǔn),使用Java可以調(diào)用一些底層的操作。下面是小編分享的Java 中靜態(tài)變量和實(shí)例變量區(qū)別,歡迎大家參考!

  靜態(tài)變量屬于類(lèi),該類(lèi)不生產(chǎn)對(duì)象,通過(guò)類(lèi)名就可以調(diào)用靜態(tài)變量。

  實(shí)例變量屬于該類(lèi)的對(duì)象,必須產(chǎn)生該類(lèi)對(duì)象,才能調(diào)用實(shí)例變量。

  在程序運(yùn)行時(shí)的區(qū)別:

  實(shí)例變量屬于某個(gè)對(duì)象的屬性,必須創(chuàng)建了實(shí)例對(duì)象,其中的實(shí)例變量才會(huì)被分配空間,才能使用這個(gè)實(shí)例變量。

  靜態(tài)變量不屬于某個(gè)實(shí)例對(duì)象,而是屬于類(lèi),所以也稱(chēng)為類(lèi)變量,只要程序加載了類(lèi)的字節(jié)碼,不用創(chuàng)建任何實(shí)例對(duì)象,靜態(tài)變量就會(huì)被分配空間,靜態(tài)變量就可以被使用了。

  總之,實(shí)例變量必須創(chuàng)建對(duì)象后才可以通過(guò)這個(gè)對(duì)象來(lái)使用,靜態(tài)變量則可以直接使用類(lèi)名來(lái)引用。

  例如,對(duì)于下面的程序,無(wú)論創(chuàng)建多少個(gè)實(shí)例對(duì)象,

  永遠(yuǎn)都只分配了一個(gè) staticInt 變量,并且每創(chuàng)建一個(gè)實(shí)例對(duì)象,這個(gè) staticInt 就會(huì)加 1;但是,每創(chuàng)建一個(gè)實(shí)例對(duì)象,就會(huì)分配一個(gè) random,

  即可能分配多個(gè) random ,并且每個(gè) 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();

  }

  }

  執(zhí)行以上程序,輸出結(jié)果為:

  staticInt = 3 random = 3

  staticInt = 4 random = 3

  h七寶 h七寶

  135***8724@qq.com

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

  大白小愛(ài)

  362***275@qq.com靜態(tài)變量是用來(lái)聲明規(guī)則的,一旦固定都是用用來(lái)引用的,類(lèi)似社會(huì)中的法律,規(guī)定好后你只能拿來(lái)說(shuō)。但是也可以改的,通過(guò)重新的聲明法律就行。

  大白小愛(ài) 大白小愛(ài)

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

  stinkaroo

  190***276@qq.comjava 實(shí)例變量在整個(gè)類(lèi)內(nèi)部是可訪問(wèn)的,而不管實(shí)例變量聲明在類(lèi)的哪個(gè)位置。

  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;

  }

  比如在上面代碼中,盡管實(shí)例變量聲明在類(lèi)的尾部,在之前方法中仍可訪問(wèn)。

  stinkaroo stinkaroo

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

  九仞

  528***187@qq.com類(lèi)變量賦值方法

  無(wú)final修飾,聲明時(shí)賦值,構(gòu)造器中賦值,靜態(tài)語(yǔ)句塊或靜態(tài)方法賦值

  有final修飾,聲明時(shí)賦值,聲明與賦值分開(kāi)可在靜態(tài)語(yǔ)句塊中賦值

  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("類(lèi)變量與對(duì)象變量的值變化");

  StaticTest test = new StaticTest();

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

  StaticTest test2 = new StaticTest();

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

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

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

  A a = new A();

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

  a.toChange();

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

  a.toChange2();

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

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

  System.out.println(" 靜態(tài)語(yǔ)句賦值:" + B.staticB);

  }

  }

  class A {

  public static String staticA ="A" ;

  //靜態(tài)語(yǔ)句塊修改值

  static{ staticA ="A1"; }

  //構(gòu)造器修改值

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

  //靜態(tài)方法起作用

  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個(gè)月前 (06-14)

  Smiley

  448***628@qq.com類(lèi)變量與實(shí)例變量的區(qū)別

  類(lèi)變量可在類(lèi)中直接使用,實(shí)例變量需實(shí)例化后才能使用。

  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 中靜態(tài)變量和實(shí)例變量區(qū)別】相關(guān)文章:

Java常量和變量06-17

php靜態(tài)成員變量06-22

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

理解java和python類(lèi)變量10-06

Java中靜態(tài)綁定和動(dòng)態(tài)綁定的區(qū)別08-14

Java入門(mén)教程:常量和變量09-01

java常量和變量入門(mén)教程09-07

java變量和常量是什么介紹06-03

PHP中超全局變量$GLOBALS和global的區(qū)別09-05

設(shè)置java環(huán)境變量05-31