亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

Java學習筆記——局部變量和成員變量

whjin / 3568人閱讀

摘要:局部變量定義在方法中的變量。初始值成員變量它存儲在堆中,如果沒有賦初值,它有默認值整數(shù)局部變量要想使用必須手動初始化注意事項局部變量名稱可以和成員變量名稱一樣,在方法中使用的時候,采用的是就近原則。

聲明:本文首發(fā)于我的個人微信公眾號【Java編程社區(qū)】,查看更多文章與學習資源請移步我的公眾號Java編程社區(qū)

成員變量:定義在類中的變量。
局部變量:定義在方法中的變量。

成員變量與局部變量的區(qū)別: 1、應用范圍

成員變量在整個類中有效

局部變量只在其聲明的方法中有效

2、生命周期

成員變量:它屬于對象,它隨著對象的創(chuàng)建而創(chuàng)建,隨著對象的消失而消失

局部變量:使用完馬上釋放空間

看段代碼

void show(int id){
        for (int i = 0; i < 10; i++) {         
           for (int j = 0; j < 10; j++) {
                System.out.println(id);
            }
        }
    }

這里的id,i,j都是在方法內聲明的,因此都是局部變量

id在show方法被調用時它的生命周期開始,方法結束時id消失

j當里層for循環(huán)執(zhí)行時生命周期開始,當里層for結束,j消失

3、存儲位置

成員變量屬于對象,它存儲在堆內,堆內的實體,當沒有引用指向其時,才被垃圾回收處理。

局部變量存在于棧內存中,當不在使用時,馬上就會被釋放。

4、初始值

成員變量它存儲在堆中,如果沒有賦初值,它有默認值

整數(shù)byte,short,int,long = 0

char = "u0000"

boolean = false

String = null

float,double = 0.0

局部變量要想使用必須手動初始化

注意事項:

局部變量名稱可以和成員變量名稱一樣,在方法中使用的時候,采用的是就近原則。

內存分析
class Car {
    //汽車應該具備的屬性
    String color;
    //汽車具備的顏色
    int num;    
    //汽車跑的行為
    public void run(){
        System.out.println(color + "的車,輪胎數(shù): " + num + "個,跑起來了");
    }
}

public class CarDemo {
    public static void main(String[] args) {
        //創(chuàng)建實體
        Car car = new Car();
        car.color = "red";
        car.num = 4;        
        //指揮車運行,調用格式:對象.對象成員
        car.run();
    }
}

這里car其實是對象的引用,它存儲的是一地址,這個地址指向了堆里的一塊內存。這里的color和num都是成員變量,null和0是它們的默認值,"red"和4是賦給它們的初始值。

最后再來看個例子

class Variable {
    int a; //成員變量a,默認值是0
    
    public void test() {
        int b = 20;//局部變量b,沒有默認值,需要初始化
        System.out.println(b);//20        
        int a = 50;//局部變量a,和成員變量a的名稱相同
        System.out.println(a);//50
    }
} 
class VariableDemo {
    public static void main(String[] args) {
        Variable variable = new Variable();
        
        System.out.println(variable.a); //0,variable.a訪問成員變量
        
        variable.test();//調用成員方法             
    }
} 

代碼執(zhí)行結果:

今天就分享到這,后續(xù)會繼續(xù)分享,敬請期待!
聲明:本文首發(fā)于我的個人微信公眾號【Java編程社區(qū)】,查看更多文章與學習資源請移步我的公眾號Java編程社區(qū)

文章版權歸作者所有,未經(jīng)允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉載請注明本文地址:http://www.ezyhdfw.cn/yun/76952.html

相關文章

  • Java學習筆記(一)

    摘要:是完全面向對象的語言,對象具有狀態(tài)行為和標識。類一一是具有共同特征和行為的一類事物的統(tǒng)稱。受保護的,對同一包內的類和所有子類可見。一種通用的內存池,用于存放所有對象。類級變量又稱全局級變量或靜態(tài)變量,需要使用關鍵字修飾。 java語言的基本特點 java語言是面向對象的高級程序設計語言,它是編譯型的語言,Java語言不使用指針,并提供了自動的垃圾回收機制,使得程序員不必為內存管理而擔...

    chengtao1633 評論0 收藏0
  • 并發(fā)學習筆記(1)

    摘要:共享數(shù)據(jù)使線程之間的通信比進程之間的通信更有效。并發(fā)模型和的區(qū)別說明的作用是啟動一個新線程操作系統(tǒng)級別,有一個方法啟動新線程,新線程會執(zhí)行相應的方法。單獨調用會在當前線程中執(zhí)行并不會啟動新線程創(chuàng)建一個線程即可但是這個線程沒有執(zhí)行任何代碼段。 tutorials site 并發(fā)Concurrency發(fā)展的歷史 單CPU,一次只能運行一個程序 -- 多任務,一次同時運行多個任...

    objc94 評論0 收藏0
  • java程序員的c語言學習筆記,一文快速了解

    摘要:結構體也可以包含結構體,就像內部類訪問結構的屬性和一樣。。我覺得這個需要學下數(shù)據(jù)結構才能更好理解給數(shù)據(jù)類型起一個新名字則可以通過對于結構體我可以這樣再通過變量名就可以簡便的聲明結構體變量。文件暫時過了一遍預處理器頭文件就是擴展名為的文件。 ...

    FuisonDesign 評論0 收藏0
  • Java編程思想》筆記10.內部類

    摘要:但遠不止如此,內部類了解外部類,并能與之通信。內部類還擁有其外圍類的所有元素的訪問權。普通內部類內不能有域和方法。特點普通內部類對象隱式的保存了外部類對象,但嵌套類并非如此。局部內部類可以訪問當前代碼塊內的常量,以及此外圍類的成員。 點擊進入我的博客 可以把一個類的定義放在另一個類的定義內部,這就是內部類。Java最晦澀的部分之一。內部類看起來就像是一種代碼隱藏機制,將類只與其他類的...

    wslongchen 評論0 收藏0
  • JAVA學習之路 (五) 類

    摘要:類的成員方法類的成員方法的定義中的使用之靜態(tài)變量我們可以基于一個類創(chuàng)建多個該類的對象,每個對象都擁有自己的成員,互相獨立。靜態(tài)初始化塊只在類加載時執(zhí)行,且只會執(zhí)行一次,同時靜態(tài)初始化塊只能給靜態(tài)變量賦值,不能初始化普通的成員變量。 java類的學習 先上一個代碼 package bankCard; import java.util.Scanner; // 銀行卡類 public cl...

    luqiuwen 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<