java變量的作用域
成都創(chuàng)新互聯(lián)公司于2013年創(chuàng)立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項目做網(wǎng)站、網(wǎng)站設(shè)計網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元復(fù)興做網(wǎng)站,已為上家服務(wù),為復(fù)興各地企業(yè)和個人服務(wù),聯(lián)系電話:18982081108
當一個變量被定義的時候,他的作用域就就被確定了。(這就好象一個人,你生下來,你父母就給你取名,你的名字就定了!!!)
按作用域的不同,變量可以分為以下類型:
1.成員變量
在類中聲明,它的作用域是整個類! (這個是變量范圍最大的)
2.局部變量
在方法內(nèi)部或者方法的一個代碼塊的內(nèi)部聲明
如果在一個方法內(nèi)部聲明,它的作用域就是整個方法
如果在一個方法的某個代碼塊的內(nèi)部聲明,他的作用域就是這個代碼塊
代碼塊:位于一個{}以內(nèi)的代碼!!
3.方法的參數(shù)
方法或者構(gòu)造方法的參數(shù),他的作用域是整個方法或者構(gòu)造方法!
是指的訪問權(quán)限么?
1,public
2,protected
3,(default)
4,private
1任何類都可以訪問
2在同一個包中的所有類可以訪問,以及該類的子類
3同一個包中的所有類
4只能在本類中訪問
throws通常不用顯示的捕獲異常,可由系統(tǒng)自動將所有捕獲的異常信息拋給上級方法;
throws本身并不捕獲異常,方法后加了throws只能說明這個方法可能拋出異常.
例如:public Test() throws RepletException {
}
這個方法.就是可能拋出異常.這樣的方法被調(diào)用的時候就必須加try..catch.或 在拋!
所以,也就說你主函數(shù)中確實有錯誤.而throws Exception時運行正常說明,有了異常也沒東西捕捉.而你加了try..catch當然就能捕捉到了.至于錯在哪.你又沒貼代碼(在加上本人水平有限).所以我也不是很清楚
1,2樓所說的作用域問題,是大家經(jīng)常出的錯.這個有可能.你最好把變量聲明放在try上邊.
作用域在Java方法中是不能嵌套的。
在Java中,方法內(nèi)的一個變量的作用域(包括方法參數(shù))是從它定義的地方開始,直到它所在的作用域的結(jié)束位置。
比如,在方法開始定義了變量i,那么直到方法結(jié)束都不能再定義另一個i了。再比如在一個for語句中定義了變量i,那么在這個for循環(huán)內(nèi)不能再有同名變量,但出了for循環(huán)之后,是可以再次定義的。這就是作用域不能嵌套的意思。
在c/c++中,作用域可以嵌套,比如:
int i;
{
int i;
{
......可以無限制地嵌套下去,這里每對大括號之間就是一個獨立的作用域
}
}
再深入一點,在Java中,類與方法之間作用域是可以嵌套的,把類看做一個大的作用域,它定義的字段(或叫域)可以被方法中的同名字段所屏蔽,其行為類似于上面將的c/c++的作用域嵌套。
棧空間溢出了 好吧,
不用看你代碼,
你肯定在不停的new 出新的對象,造成死循環(huán)了。
回去看你的代碼,
public ClassA(){
ClassA a=new ClassA();
}
看有類似的代碼沒
你反編譯一下,你就能看到如下:
public ClassA(){
public A(){
a=new ClassA();
}
}
js能劃分作用域的只有function,塊級作用域指的是定義在條件或循環(huán)分支中的,像你舉的這個函數(shù)例子,test定義在for循環(huán)之內(nèi),再for循環(huán)之外也能訪問what變量 (這是js的變量提升,可以查一下,它會把what提升到test函數(shù)的最開頭定義)function test(){
for(var i=0;i3;i++){
var what = "haha";
} console.log(what);
}
test();
如果你這段代碼換成Java的,是下面這樣的:private void test(){
for(int i=0;i3;i++){
String what =“123";
}
System.out.println(what);
?
這個方法是編譯不通過的,因為what的作用域只在for循環(huán)之內(nèi),為塊級作用域。
分享標題:包含java異常代碼塊作用域的詞條
標題路徑:http://m.kartarina.com/article6/heieig.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站、營銷型網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計公司、域名注冊、網(wǎng)站內(nèi)鏈、外貿(mào)建站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)