當前位置:
首頁 > 最新 > 從零學java筆錄-第42篇第二階段成員變數和局部變數的區別

從零學java筆錄-第42篇第二階段成員變數和局部變數的區別

本節主要內容:

1:成員變數和局部變數的區別(需掌握)

本文是《凱哥陪你學系列之java基礎篇.第二階段 面向對象》中第42篇 基礎第二階段 4 成員變數和局部變數的區別

聲明:本文系凱哥原創。轉載請註明出處。謝謝!

一:成員變數與局部變數

1.1:什麼是成員變數?

Java中最小單位是class(類).所以,如果一個變數(屬性)定義在類中,那麼這個變數(屬性)在類中的任意位置可以使用。是類的一部分。

1.2:什麼是局部變數?

在方法中或是方法參數列表中的變數就是局部變數。因為這個變數只能在該方法中使用。離開該方法就不存在了。

如下圖:

1.3:成員變數和局部變數的區別。

a:在類(對象)中的位置不同

成員變數:在類中方法之外

局部變數:在方法定義中或者是方法聲明上(方法的參數列表中)

如果上圖 say()方法中的兩個局部變數name和gender

b:在內存中的位置不同

先回顧棧和堆的區別。棧中存放的是什麼?堆中存放的是什麼?

成員變數:在堆內存中(成員變數屬於對象的一部分。而對象是在堆內存中的。所以成員變數在堆中)

局部變數:在棧內存中(局部變數屬於方法的一部分,而方法是在棧內存中。還記得彈棧嗎?)

c:生命周期不同

成員變數:隨著對象的創建而存在,隨著對象的消失而消失

局部變數:隨著方法的調用而存在,隨著方法的調用完畢而消失

d:初始值不同

成員變數:有默認初始值的。比如String類型的是null int類型是0等

局部變數:沒有默認初始值,必須定義、賦值之後才可以使用(回憶之前學的變數)

具體如下圖:

需要注意的:

1:局部變數名稱可以和成員變數名稱一樣。

因為在作用域不一樣。所以可以一樣的名稱。

2:在方法使用的時候,採用的是就近原則

什麼意思?如果一個變數成員變數中有這個名字,方法中局部變數也有這個名字

那麼,方法就會採用離自己近的(方法中局部變數的)

如下圖:

3:基本數據類型包含哪些?八的基本類型

byte、short、int、long、float、double、boolean、char

引用數據類型包含哪些?

數組、類、介面、枚舉等

下節預告:《封裝 And private關鍵字》

歡迎關注凱哥公眾號:凱哥Java

相關文章:

從零學java筆錄-第41篇 基礎第二階段 3類的定義及使用

從零學java筆錄-第40篇第二階段面向對象 類與對象的概述

從零學java筆錄-第39篇1 面向對象思想及概述

從零學java筆錄-第38篇小項目練習-學生管理系統升級版

從零學java筆錄-第37完結小項目練習-學生管理系統基礎版

從零學java筆錄-第36篇 java中值傳遞址值傳遞 圖解


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 凱哥java 的精彩文章:

從零學java筆錄-第41篇 基礎第二階段 3類的定義及使用
從零學java筆錄-第40篇第二階段面向對象 類與對象的概述
從零學java筆錄-第39篇1 面向對象思想及概述
從零學java筆錄-第38篇小項目練習-學生管理系統升級版
從零學java筆錄-第37完結小項目練習-學生管理系統基礎版

TAG:凱哥java |

您可能感興趣

Python基礎-變數、字元串、數字
NBA西部季後賽形勢分析:前三已確定,4-10名皆存變數
static 成員變數、static 成員函數、類/對象的大小
Python數據類型、運算符、變數
nova5系列發布背後的華為變數
「Python」Chapter1 變數和簡單數據類型
8 個有力的 Awk 內建變數
Nginx 日誌和變數
季後賽首戰狂勝27分,76人或成東部最大變數
python基礎之變數類型number(math模塊)
ASP 的變數
iPhone 11Max浴霸三攝再生變數:相機排列細節曝出
Perl 變數
C 的變數
40歲的陳數,是女演員中的一個「變數」…
VBScript 變數
Linux安裝jdk1.8和配置環境變數 原
單模塊512GB持久內存現身 改變數十年DRAM生態
WitsView:Q4面板供過於求比例達4.3%全年最高,價格走勢添變數
MySQL 的變數分類總結