一.內部類:
1).內部類的定義:通俗的講就是在乙個類的裡面再定義乙個類。
2).內部類可以public,private,protected等修飾,也可以是靜態static。
二.四種內部類的實現:
1).靜態內部類:
例子:
class innerclass }}
public class staticinnerclass
}
結果:10
靜態內部類只能訪問外部類的靜態成員變數與靜態方法。因為內部類被靜態化,所以可以直接new出內部類的物件。
2).成員內部類:
例子:
class memberclass }}
public class memberclasstest
}
結果: 10 1 成員內部類作為外部類的成員,可以直接使用外部類的所有成員和方法,內部類物件的建立要先建立外部類的物件才能建立內部類物件:outerclass.innerclass inner = (new outerclass()).new innerclass(); 如果想在成員內部類使用外部類的成員變數則需要:outerclass.this.變數名。
3).區域性內部類 :
例子:
class localinnerclass
} new inner().print(); }}
public class localinnerclasstest
}
結果:haha
區域性內部類是指定在方法或作用域中的。只能在該方法或作用域中使用,退出這些作用域之後則無法使用。
區域性內部類只能訪問方法中用final型別的變數。
4).匿名內部類:
例子:
class anonymousclass }
public class anonymousclasstest
});}
}
結果:
2015-3-17 21:28:11
haha
匿名內部類隱式的繼承乙個父類或乙個介面。匿名內部類是不能加訪問修飾符的。這種內部類用在事件上比較多。
java內部類詳解
成員內部類 作為外部類的乙個成員存在,與外部類的屬性 方法並列。成員內部類中,不能定義靜態成員 成員內部類中,可以訪問外部類的所有成員 在內部類中訪問內部類自己的變數直接用變數名 在內部類中訪問內部類自己的變數也可以用this.變數名 在內部類中訪問外部類中與內部類同名的例項變數用外部類名.this...
java內部類詳解
內部類是一種類的結構擴充,讓乙個類的內部除了屬性與方法之外還可以存在有其它類的結構,並且內部類也可以定義在方法或 塊中,但是從開發的角度來講,要盡量避免使用內部類,優先考慮普通類。乙個內部類的例子 class outer public void fun public class testdemo 那...
Java內部類詳解(三)
首先,靜態內部類實際上與普通類 即類名必須與檔名一樣的頂級類 一樣,只是靜態內部類在某一類的內部定義了而已,既然是類,要想使用就必須例項化。概念上與靜態變數 靜態方法是不一樣的,不要被 靜態 兩個字迷惑了 不要以為凡是靜態的東西就不需要例項化就可以直接使用,靜態內部類是有區別 而且只有靜態內部類,而...