第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

用static修飾的變量,和普通成員變量有什么區(qū)別,難道成員變量不是屬于整個類的么,之前為什么說成員變量和局部變量的時候,說成員變量的作用范圍是從類開始到結(jié)束。

用static修飾的變量,和普通成員變量有什么區(qū)別,難道成員變量不是屬于整個類的么,之前為什么說成員變量和局部變量的時候,說成員變量的作用范圍是從類開始到結(jié)束。


正在回答

4 回答

static修飾的變量是在類加載的時候就被創(chuàng)建并分配內(nèi)存空間,而沒有static修飾的變量只有在類被實例化時才會被創(chuàng)建并分配內(nèi)存空間


0 回復 有任何疑惑可以回復我~

你聯(lián)系一下后面章節(jié)的靜態(tài)初始化,一般用【new 類名 】來創(chuàng)建對象時,會執(zhí)行一個初始化塊,前面構(gòu)造方法也說了,沒有構(gòu)造方法時系統(tǒng)自動創(chuàng)建構(gòu)造方法對成員變量初始化,而帶了static的會優(yōu)先初始化。貌似還有節(jié)約內(nèi)存的好處,具體不清楚。自己的理解,有錯誤歡迎指出。

1 回復 有任何疑惑可以回復我~

static修飾的變量可以被所有方法訪問,但是靜態(tài)方法只能訪問靜態(tài)變量,不能訪問普通成員變量。類的成員變量在整個類都有效,局部變量只在局部的方法中有效,你就看變量在哪個大括號范圍就可以判斷,比如:

public class HelloWorld

{

int a=10;

static int b=20;

public static void say1()

{

int c=30;

//System.out.println(a);//這里不能訪問a,因為靜態(tài)方法不能訪問非靜態(tài)變量a。

System.out.println(b);//這里可以訪問b,靜態(tài)方法可以訪問靜態(tài)變量b。

System.out.println(c);//這里可以訪問c,變量c只在say1( )方法內(nèi)有效

//say1( )是靜態(tài)方法,只能訪問靜態(tài)變量,所有不能訪問靜態(tài)變量b,但是可以訪問非靜態(tài)變量c,因為c是非靜態(tài)方法say1( )的內(nèi)部變量,也就是局部變量。

}

public void say2()

{

System.out.println(a);//可以訪問a,變量a在整個HelloWorld類中有效,是成員變量也叫全局變量。System.out.println(b);//可以訪問a,變量b在整個HelloWorld類中有效,是成員變量也叫全局變量。

//System.out.println(c);//這里不能訪問c,因為c是局部變量,只在say1( )有效

//say2( )是非靜態(tài)方法所有可以訪問所有變量,但是不能訪問變量c,因為c只能在say1( )內(nèi)才有效

}

public static void main(String[] args)

{

HelloWorld poj1=new HelloWorld();

poj1.say1();

poj1.say2();

}

}


8 回復 有任何疑惑可以回復我~

static修飾的變量可以被所有方法訪問,但是靜態(tài)方法只能訪問靜態(tài)變量,不能訪問普通成員變量。類的成員變量在整個類都有效,局部變量只在局部的方法中有效,你就看變量在哪個大括號范圍就可以判斷,比如:

public class HelloWorld

{

int a=10;

static int b=20;

public static void say1()

{

int c=30;

//System.out.println(a);//這里不能訪問a,因為靜態(tài)方法不能訪問非靜態(tài)變量a。

System.out.println(b);//這里可以訪問吧,靜態(tài)方法可以訪問靜態(tài)變量b。

System.out.println(c);//這里可以訪問c,變量c只在say1( )方法內(nèi)有效

}

public void say2()

{

System.out.println(a);//可以訪問a,變量a在整個HelloWorld類中有效,是成員變量也叫全局變量。

System.out.println(b);//可以訪問a,變量a在整個HelloWorld類中有效,是成員變量也叫全局變量。

//System.out.println(c);//這里不能訪問c,因為c是局部變量,只在say1( )有效

//非靜態(tài)方法可以訪問所有變量

}

public static void main(String[] args)

{

HelloWorld poj1=new HelloWorld();

poj1.say1();

poj.say2();

}

}



4 回復 有任何疑惑可以回復我~
#1

有態(tài)度的網(wǎng)友

say2()方法第二行注釋錯了吧
2018-07-07 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

用static修飾的變量,和普通成員變量有什么區(qū)別,難道成員變量不是屬于整個類的么,之前為什么說成員變量和局部變量的時候,說成員變量的作用范圍是從類開始到結(jié)束。

我要回答 關(guān)注問題
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號