java 24 內部類詳解

2021-06-29 04:41:52 字數 1334 閱讀 8047

一.內部類:

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內部類詳解(三)

首先,靜態內部類實際上與普通類 即類名必須與檔名一樣的頂級類 一樣,只是靜態內部類在某一類的內部定義了而已,既然是類,要想使用就必須例項化。概念上與靜態變數 靜態方法是不一樣的,不要被 靜態 兩個字迷惑了 不要以為凡是靜態的東西就不需要例項化就可以直接使用,靜態內部類是有區別 而且只有靜態內部類,而...