1. 程式人生 > >java中的變數(成員變數、本地變數、類變數)

java中的變數(成員變數、本地變數、類變數)

Java中的變數:

1、成員變數(例項變數,屬性)

2、本地變數(區域性變數)

3、類變數(靜態屬性)

一、成員變數(例項變數,屬性)

1.1-成員變數:(在類中定義,    訪問修飾符   修飾符   type  name  = value)

1.2-什麼是成員變數?

成員變數就是類中的屬性。當new物件的時候,每個物件都有一份屬性。一個物件中的屬性就是成員變數。

1.3-作用範圍?

在類內部,任何地方都可以訪問成員變數。

1.4- 生命週期?(在記憶體中存在的時間)

出生: new物件的時候,開闢記憶體空間。 

死亡:  堆記憶體地址沒有引用,變成垃圾,被垃圾回收器回收後。

二、區域性變數(本地變數)

2.1-區域性變數:(修飾符   type  name = value)

2.2- 什麼是區域性變數?

方法的形式引數以及在方法中定義的變數。

2.3-作用範圍?

形參:在方法體中任何位置都可以訪問。

方法中定義變數:從定義處開始,直到所在程式碼塊結束。

2.4  生命週期?(在記憶體中存在的時間)

出生:執行到建立變數的語句時。 

死亡:超過了其作用範圍。總結:

三、類變數(靜態屬性)

3.1-類變數:(訪問修飾符  static  type  name = value)

3.2-什麼是類變數?

被static修飾的屬性。

3.3-作用範圍?

在類變數定義之後。

3.4- 生命週期?(在記憶體中存在的時間)

出生:類載入時,類變數就分配記憶體空間。 

死亡:JVM退出

相關推薦

JAVAOOAD面向物件分析與設計依賴倒置原則程式碼例項

簡介:什麼是依賴倒置原則? 軟體設計中,多層次之間相互依賴關係需要倒置為抽象類或介面,而不是直接依賴於具體的實現。 具體表現為: 1、上層模組不應該直接依賴下層實現,而應該依賴下層的抽象 2、每一個單獨的層次,抽象不應該依賴於細節,而細節應該依賴於抽象。 現在有一個使用者類UserBea

java變數成員變數本地變數變數

Java中的變數: 1、成員變數(例項變數,屬性) 2、本地變數(區域性變數) 3、類變數(靜態屬性) 一、成員變數(例項變數,屬性) 1.1-成員變數:(在類中定義,    訪問修飾

JavaThreadLocal,成員變數和區域性變數

一.成員變數和區域性變數 1.程式例子: public class HelloThreadTest { public static void main(String[] args) { HelloThread r = new HelloThread();

java方法區/ 變數成員變數區域性變數

方法區:類資訊、類變數(靜態變數和常量)、方法  堆:物件、成員變數  棧:區域性變數  (1)當程式執行時,首先通過類裝載器載入位元組碼檔案,經過解析後裝入方法區!在方法區中存了類的各種資訊,包括類變數、常量及方法。對於同一個方法的呼叫,同一個類的不同例項呼叫的都是存在方法

Java關於 靜態成員變數 在JVM的儲存位置

和朋友討論了一下java中變數的儲存位置.成員方法中的區域性變數,儲存在記憶體棧(stack)區,而且,區域性變數不允許有任何修飾符. 成員變數的型別又分為靜態和非靜態的變數.靜態成員變數不屬於任何物件,它被該類的所有物件所共享.                   非靜態的

Java記憶體,成員變數,區域性變數

一 java記憶體分配 這裡只是在網上找的一些資料; Java 中的資料型別分為 1. 基本型別(原始資料型別) byte short int long float double char boolean 基本型別的變數持

Java內部類成員內部類靜態內部類方法內部類匿名內部類

內部類 內部類是定義在一個類內部進行其他類結構的巢狀的操作。 為什麼存在內部類?1.首先看下內部類和不用內部類實現相同功能的程式碼: 不用內部類 //////不用內部類 class Outter { private String msg="pick";

JAVA內部類成員內部類區域性內部類匿名內部類靜態內部類

    在Java中,可以將一個類定義在另一個類裡面或者一個方法裡面,這樣的類稱為內部類。廣泛意義上的內部類一般來說包括這四種:成員內部類、區域性內部類、匿名內部類和靜態內部類。下面就先來了解一下這四種內部類的用法。   1.成員內部類   成員內部類是最普通的內部類,它

六個例項教你正確使用Java內部類成員內部類匿名內部類靜態內部類區域性內部類

內部類不是很好理解,但說白了其實也就是一個類中還包含著另外一個類 如同一個人是由大腦、肢體、器官等身體結果組成,而內部類相當於其中的某個器官之一,例如心臟:它也有自己的屬性和行為(血液、跳動) 顯然,此處不能單方面用屬性或者方法表示一個心臟,而需要一個類

javaOverload過載和Override重寫覆蓋

面試題:過載(Overload)和重寫(Override)的區別。過載的方法能否根據返回型別進行區分? 答:方法的過載和重寫都是實現多型的方式,區別在於前者實現的是編譯時的多型性,而後者實現的是執行時的多型性。過載發生在一個類中,同名的方法如果有不同的引數列

Hibernate的各種查詢物件導航OIDhqlQBC本地SQL多表

Hibernate中的查詢方式 1、物件導航查詢 (1)根據id查詢某個客戶(Customer),然後再查詢這個客戶中的所有聯絡人(Linkman) //查詢id為1的客戶以及這個客戶中的所有聯絡人 Customer c1 = session.get(Customer.cla

PHP關於時間時區本地時間UTC時間等的梳理

在PHP開發中,我們經常會在時間問題上被搞糊塗,比如我們希望顯示一個北京時間,但是當我們使用date函式進行輸出時,卻發現少了8個小時。幾乎所有的php猿類都必須對php中幾個重要的時間轉換等方法進行研究。本文就來梳理這些問題。 時間戳(timestamp) GMT

java工具,在Windows,Linux系統獲取電腦的MAC地址本地IP電腦名

copy iter 去掉m [] equals linu stat cli catch package com.cloudssaas.util; import java.io.BufferedReader; import java.io.IOException;

Java的內存處理機制和finalstaticfinal static總結

stat 入口 引用類型 堆棧 class a 如果 虛擬 不同 bsp Java中的內存處理機制和final、static、final static總結 裝載自:http://blog.csdn.net/wqthaha/article/details/209235

JavalongLong與intInteger之間的轉換

轉化 string long tar str 基礎數據類型 ava detail 參考 一、將long型轉化為int型,這裏的long型是基礎類型: long a = 10; int b = (int)a; 二、將Long型轉換為int型,這裏

Java的Overload(重載)與Override(重寫覆蓋)

tro 子類 數列 AD 屬性。 需要 ide per cati java中的方法重載發生在同一個類中兩個或者多個方法的方法名相同但是參數不同的情況,方法重載是指子類與父類之間子類重新定義了父類的方法,重寫的方法與原方法簽名、返回值、參數完全相同。Overload(重載)

java異常Exception的定義,意義和用法。舉例

use 詳情 put 視頻下載 ati itl url index ring 1.異常(Exception)的定義,意義和用法 (視頻下載) (全部書籍) 我們先給出一個例子,看看異常有什麽用? 例:1.1-本章源碼 public class Test { publi

java介面interface及使用方法和注意事項

1、介面:一種把類抽象的更徹底,接口裡只能包含抽象方法的“特殊類”。介面不關心類的內部狀態資料,定義的是一批類所遵守的規範。(它只規定這批類裡必須提供某些方法,提供這些方法就可以滿足實際要求)。 在JAVA程式語言中是一個抽象型別,是抽象方法的集合,介面通常以interface來宣告。一個類通過

JAVAgetClass以及getName()方法

getClass public final Class<?> getClass() 返回此 Object 的執行時類。返回的 Class 物件是由所表示類的 static synchronized 方法鎖定的物件。

java克隆淺拷貝的簡單使用程式碼

java中克隆的使用 1) 在被克隆類中,要提供實現克隆的介面: class Cat implements Cloneable{ } 2) 在被克隆的類中重寫clone方法,使其public化 class Cat implements Cloneable{