java實例變數,java實例變數與局部變數的區別

本文目錄一覽:

java 中,什麼是實例變數(Instance Variables)

實例變數就是實例化該類對象才調用的非靜態變數!

class A{

int i;//實例變數

public void mack() {

int m =1;//局部變數

}

}

單你new 一個A的對象的時候!對象就會在內存中為i分配一個內存!你就可以調用該變數!單你調用mack方法時候才會為m分配內存進行調用!

JAVA中「成員變數」和「實例變數」一樣嗎?

不一樣的,例如

public

class

A{

String

id;

//實例變數

private

String

Tel;

//實例變數

private

int

size;

//實例變數

private

static

String

depart;

//類變數

final

String

design=”樣式”;

//常量

}

其中實例變數、類變數、常量都是屬於成員變數的,成員變數又被稱為全局變數,

成員變數的範圍比實例變數更寬泛

java靜態變數的與實例變數的區別

java類的成員變數有倆種:一種是被static關鍵字修飾的變數,叫類變數或者靜態變數;另一種沒有static修飾,為實例變數。

1、在語法定義上的區別:

靜態變數前要加static關鍵字,而實例變數前則不加。

2、在程序運行時的區別:

實例變數屬於某個對象的屬性,必須創建了實例對象,其中的實例變數才會被分配空間,才能使用這個實例變數。靜態變數不屬於某個實例對象,而是屬於類,所以也稱為類變數,只要程序載入了類的位元組碼,不用創建任何實例對象,靜態變數就會被分配空間,靜態變數就可以被使用了。總之,實例變數必須創建對象後才可以通過這個對象來使用,靜態變數則可以直接使用類名來引用。

舉例說明:

對於下面的程序,無論創建多少個實例對象,永遠都只分配了一個staticVar變數,並且每創建一個實例對象,這個staticVar 就會加1;但是,每創建一個實例對象,就會分配一個instanceVar,即可能分配多個instanceVar,並且每個instanceVar的值都只自加了1次。

類的靜態變數在內存中只有一個,java虛擬機在載入類的過程中為靜態變數分配內存,靜態變數位於方法區,被類的所有實例共享。靜態變數可以直接通過類名進行訪問,其生命周期取決於類的生命周期。

而實例變數取決於類的實例。每創建一個實例,java虛擬機就會為實例變數分配一次內存,實例變數位於堆區中,其生命周期取決於實例的生命周期。

結果為:

1

0 (成員變數具有預設值 而局部變數則沒有)

把代碼改為:

結果則為:

1

java中類變數、實例變數和局部變數有何區別?

類變數:\x0d\x0a比較特殊的實例變數,用static修飾的,一個類共用這個變數,所有由這類生成的對象都共用這個變數,類裝載時就分配存儲空間。一個對象修改了變數,則所以對象中這個變數的值都會發生改變。\x0d\x0a \x0d\x0a實例變數:\x0d\x0a從屬於類,由類生成對象時,才分配存儲空間,各對象間的實例變數互不干擾,能通過對象的引用來訪問實例變數。\x0d\x0a \x0d\x0a局部變數:\x0d\x0a方法中或者某局部塊中聲明定義的變數或方法的參數被稱為局部變數

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/192988.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-01 10:31
下一篇 2024-12-01 10:31

相關推薦

  • Python中new和init的區別

    new和init都是Python中常用的魔法方法,它們分別負責對象的創建和初始化,本文將從多個角度詳細闡述它們的區別。 一、創建對象 new方法是用來創建一個對象的,它是一個類級別…

    編程 2025-04-29
  • int類型變數的細節與注意事項

    本文將從 int 類型變數的定義、聲明、初始化、範圍、運算和類型轉換等方面,對 int 類型變數進行詳細闡述和講解,幫助讀者更好地掌握和應用 int 變數。 一、定義與聲明 int…

    編程 2025-04-29
  • Python生成隨機數的應用和實例

    本文將向您介紹如何使用Python生成50個60到100之間的隨機數,並將列舉使用隨機數的幾個實際應用場景。 一、生成隨機數的代碼示例 import random # 生成50個6…

    編程 2025-04-29
  • Sublime Test與Python的區別

    Sublime Text是一款流行的文本編輯器,而Python是一種廣泛使用的編程語言。雖然Sublime Text可以用於編寫Python代碼,但它們之間有很多不同之處。接下來從…

    編程 2025-04-29
  • Python input參數變數用法介紹

    本文將從多個方面對Python input括弧里參數變數進行闡述與詳解,並提供相應的代碼示例。 一、基本介紹 Python input()函數用於獲取用戶輸入。當程序運行到inpu…

    編程 2025-04-29
  • Shell腳本與Python腳本的區別

    本文將從多個方面對Shell腳本與Python腳本的區別做詳細的闡述。 一、語法差異 Shell腳本和Python腳本的語法存在明顯差異。 Shell腳本是一種基於字元命令行的語言…

    編程 2025-04-29
  • Python中while語句和for語句的區別

    while語句和for語句是Python中兩種常見的循環語句,它們都可以用於重複執行一段代碼。然而,它們的語法和適用場景有所不同。本文將從多個方面詳細闡述Python中while語…

    編程 2025-04-29
  • Python匿名變數的使用方法

    Python中的匿名變數是指使用「_」來代替變數名的特殊變數。這篇文章將從多個方面介紹匿名變數的使用方法。 一、作為佔位符 匿名變數通常用作佔位符,用於代替一個不需要使用的變數。例…

    編程 2025-04-29
  • Web程序和桌面程序的區別

    Web程序和桌面程序都是進行軟體開發的方式,但是它們之間存在很大的區別。本文將從多角度進行闡述。 一、運行方式 Web程序運行於互聯網上,用戶可以通過使用瀏覽器來訪問它。而桌面程序…

    編程 2025-04-29
  • Python變數在內存中的存儲

    該文章將從多個方面對Python變數在內存中的存儲進行詳細闡述,包括變數的聲明和賦值、變數的引用和指向、內存地址的變化、內存管理機制等。 一、聲明和賦值 在Python中,變數聲明…

    編程 2025-04-29

發表回復

登錄後才能評論