亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

static和private作用域,求解答?

static和private作用域,求解答?

JustWannaHugU 2016-08-08 20:23:28
眾所周知,private修飾的成員變量的作用范圍是整個類中。而static修飾的變量也是同一個類中生成的對象所共享的。那他倆有什么區別???
查看完整描述

2 回答

已采納
?
阿旭_

TA貢獻217條經驗 獲得超353個贊

static作用域全局(程序運行之初要把所有這個關鍵字修飾的變量或方法加載在全局中去。)

正常情況:下任何類都可以直接通過類名去掉用。

其它情況:通過private(或其它訪問權限)修飾,則只能當前類去訪問。例:private static int a = 5;表示變量a在工程運行之后要把所有的static加載一遍,a的空間已經存在且作用域是全局的,但是前面加了一個private,則通過語法訪問受限。


查看完整回答
1 反對 回復 2016-08-09
  • JustWannaHugU
    JustWannaHugU
    private修飾的變量不是同一個類中生成的對象所共享的嗎?
  • 阿旭_
    阿旭_
    不是,僅僅是加一個語法受限。實際上只要生成實例這個變量就應該是誰都可用的,不過java做了這個語法受限就用不了了。不過如果想用的話可以通過反射的方法一樣可以修改和獲取private修飾的變量。
  • JustWannaHugU
    JustWannaHugU 回復 阿旭_
    這個全局是啥意思?是public class 主文件名{}這個最外層的類嗎?是不是說,全局類可以包含很多其他的內部類,然而static修飾的變量是所有內部類都可以訪問的,但是private修飾的變量僅僅是它獨自的內部類中可以用呢? 我有點暈。
點擊展開后面8
?
XhstormR

TA貢獻140條經驗 獲得超197個贊

private 修飾的屬性和方法只能在本類中使用,所以外面的其他類不能使用 private 修飾的東西。


static 修飾的屬性和方法被本類的所有對象共享,所以無論你 new 了多少個這個類的對象,都只有這個一個 copy,他們共用這一個用 static 修飾的屬性,修改這個屬性,其他對象的這個屬性也會變。


所以一個是修飾訪問范圍,一個是屬性和方法的特性。一起用就比如

public?static?void?main(String[]?args)?{
????
}

純手打,望采納啊。

查看完整回答
1 反對 回復 2016-08-08
  • JustWannaHugU
    JustWannaHugU
    private修飾的變量不是同一個類中生成的對象所共享的嗎?
  • 2 回答
  • 0 關注
  • 2072 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號