一、內部類
內部類的訪問規則:
1.內部類可以直接訪問外部類中的成員包括私有。之所以可以直接訪問外部類中的成員,是因為內部類中持有了乙個外部類的引用,格式為 外部類名.this
2.外部類要訪問內部類必須建立內部類物件。
1public
class
out 9}
1011
public
void
method()
15 }
測試類
publicclass
innertest
}
2.當內部類在成員位置上時,就可以被成員修飾符所修飾。
比如,private:將內部類在外部類中進行封裝。
static:內部類就具備了static的特性。當內部類被static修飾後,只能直接訪問外部類中的static成員,出現了訪問侷限性。
注意當內部類中定義了靜態成員該內部類必須是靜態的。
當外部類中的靜態方法訪問內部類時,內部類也必須是靜態的。
3.內部類定義在區域性時
1.不可以被成員修飾符所修飾
2.可以直接訪問外部類中的成員,因為還持有外部類中的引用但是不可以訪問他所在的區域性中的變數,只能訪問被final修飾的區域性變數。
1public
class
out 9}
10new inner().show();//
建立內部類的物件呼叫內部類的方法。11}
12 }
1public
class
innertest
5 }
二、匿名內部類
1.匿名內部類其實就是內部類的簡寫格式。
2.定義匿名內部類的前提:內部類必須是繼承乙個類或實現介面。
3.匿名內部類的格式: new 父類或者介面()
4.其實匿名內部類就是乙個匿名子類物件。
publicabstract
class
innerdemo
1public
class
out
1112}13
14public
void
function()
18 }
上面的內部類可以用匿名內部類的進行簡寫,如下
1public
class
out
1213 }.show();//
innerdemo類的匿名子類物件呼叫自己的show()方法14}
15 }
內部類和匿名內部類
內部類 取個類名inner 有三種 成員內部類 相當於類中的成員 1.可以訪問外部類的成員變數.2.類中的成員函式訪問內部類 建立內部類的物件進行訪問.如 inner in new inner 3.外部其他類 不是內部類的直接外部類 訪問內部類的成員建立物件.格式 外部類名 內部類名 變數名 new...
內部類和匿名內部類
把類定義在其他類的內部,這個類就被稱為內部類。舉例 在類 a 中定義了乙個類 b,類 b 就是內部類。內部類的訪問特點 內部類可以直接訪問外部類的成員,包括私有。外部類要訪問內部類的成員,必須建立物件。按照內部類在類中定義的位置不同,可以分為如下兩種格式 成員位置 成員內部類 一般內部類就是不讓外界...
內部類和匿名內部類
內部類訪問特點 1,內部類可以直接訪問外部類中的成員。2,外部類要訪問內部類,必須建立內部類的物件 用於類的設計 分析事物時,發現該事物描述中還有事物,而且這個事物還在訪問被描述事物的內容,這時就是還有的事物定義成內部類來描述。class outer static void function 如果內...