物件導向 內部類

2021-06-18 17:11:13 字數 2447 閱讀 6947

----------------------

asp.net+android+ios開發、

.net培訓、期待與您交流! ----------------------7.1內部類

內部類:將乙個類定義在另乙個類裡面,裡面那個類就稱為內部類.

格式:class outclass }

注意:內部類可以定義在外部類的成員位置,也可以是在外部類的區域性位置.

如:class outclass }

}注意:內部類可以直接訪問外部類中的成員,包括私有的,而外部類要訪問內部類中的成員,必須要建立內部類的物件.

7.1.1什麼時候需要定義內部類呢?

在分析事物時,發現該事物描述中還有事物,而且這個事物還在訪問被描述事物的內容,這時就把還有的事物定義成內部類來描述.

7.1.2訪問格式

第一種情況:直接通過外部類建立內部類物件

如:

class outerclass//外部類

}}public class demo

}

第二種情況:當內部類中有static修飾的靜態成員時,那麼,內部類也必須是靜態的.

如:

class outerclass//外部類

void show() }}

public class demo

}

第三種情況:直接呼叫內部類中的靜態成員,可以不建立物件,直接用類名呼叫.

如:

class outerclass//外部類

void show() }}

public class demo

}

7.1.3為什麼內部類可以直接訪問外部類中的成員,包括私有的.

因為,內部類持有了外部類的引用:外部類類名.this.

如:

class outerclass//外部類 }}

public class demo

}

7.1.4區域性位置上的內部類

class outerclass//外部類

} }

注意:1,內部類在區域性位置時不能被成員修飾符修飾。

2,當內部類在區域性位置上時,只能訪問由final修飾的區域性變數.

如:

class outerclass//外部類

} new innerclass().show();//外部類要訪問內部類的成員,必須要建立內部類的物件,完成呼叫. }}

public class demo

}

7.1.5匿名內部類

匿名內部類,就是沒有名字的內部類,匿名內部類是內部類的簡寫形式,前提是,內部類必須繼承或者實現乙個外部類或者介面,匿名內部類實際上就是匿名子類物件.完成對父類或者介面的方法的覆寫和呼叫.

如:格式:new 父類或接()

inte***ce inter//介面

class outerclass//外部類

} void method()

}public class demo }

//以上**,用匿名內部類的形式可以寫成:

inte***ce inter//介面

class outerclass//外部類

} */

//將注釋的**寫成匿名內部類的形式

void method()

}.show();//直接呼叫show方法

}}public class demo

}

注意:以上介面中只定義了乙個抽象方法,那麼如果介面中有多個抽象方法,該如何呼叫呢.

這時,就可以給匿名子類物件起個名字,再完成方法的呼叫. 如:

inte***ce inter//介面

class outerclass//外部類

public void show2()

};in.show1();//在這裡分別呼叫兩個方法

in.show2();

}}public class demo

}

總結:內部類中需要注意,成員修飾符的特點,以及外部類和內部類相互訪問的方式,如何在主函式中建立內部類物件,完成對內部類成員的呼叫,內部類中有靜態成員時,內部類的修飾符的變化.內部類在區域性位置時,訪問區域性變數的前提.在匿名內部中要注意書寫格式.

----------------------

asp.net+android+ios開發、

.net培訓、期待與您交流! ----------------------

物件導向 內部類

在學內部類前,我自己先問了自己2個問題!1 什麼是內部類呢?簡單說 就是在乙個類中在建立乙個類。2 而為什麼又要搞這個內部類呢?我想是為了在於現實中的一些建模問題吧,讓事物更加形象。比如要建立 人體 這個類,有很多功能吧,比如 吃飯 看書 而這些功能又需要 嘴巴 眼睛 那麼我們就不得不建立 嘴巴 眼...

物件導向 內部類

定義 將乙個類定義在另乙個類的裡面,裡面那個類就是內部類,又稱為巢狀類或者內建類。內部類生成的位元組碼檔名格式為 outerclass innerclass.class 內部類可以分成成員內部類 區域性內部類以及匿名內部類。在乙個類中使用內部類,可以在內部類中直接訪問其所在類的私有成員變數,儘管這些...

物件導向 內部類

內部類 將乙個類定義在另乙個類的裡面,裡面那個類就成為內部類 內建類,巢狀類 內部類的定義原則 當描述事物時,事物的內部還有事物,該事物用內部類來描述。因為內部事物在使用外部事物的內容 內部訪問特點 1 內部類可以直接訪問外部類中的成員,包括私有成員。因為內部類持有乙個外部類的引用,格式為 外部類....