国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

java - 怎樣才算是一個內部類

瀏覽:134日期:2024-02-08 11:29:39

問題描述

請問下怎樣才算是一個內部類,最近在看android的Handler方面的東西,有點被搞暈了,一般情況下的內部類我是明白的,但是為什么Handler也算是Activity的一個內部類。

public class MainActivity extends Activity{ private Handler mHandler = new Handler() {@Overridepublic void handleMessage(Message msg) { super.handleMessage(msg);} }; }

Handler并已經是一個被定義好的類,只不過在使用的時候一般回去重寫其中的handleMessage方法,這樣就算是一個內部類了嗎?這里主要是想請問下:

內部類的定義是什么?

編譯器是怎么去判斷一個類是內部類的

問題解答

回答1:

如果說一般的內部類你知道,那這個內部類你應該知道才是,因為它是最基本的。

按照 Java 語言的官方定義,內部類是這樣定義的:

A nested class is a member of its enclosing class.

如果一個類是另一個類的成員,那就是內部類。內部類又分為靜態內部類非靜態內部類

上述的 handler 是一個非靜態內部類。與靜態內部類不同的是,要初始化這樣的內部類的實例,必須先有它的外部類的一個實例。在這樣的非靜態內部類中,你可以通過MainActivity.this引用到外部類的實例。而靜態內部類是不可以的。

編譯器只要識別到一個類是定義在另一個類的內部,就能知道它是內部類。

回答2:

這個叫匿名內部類

標簽: java
相關文章:
主站蜘蛛池模板: 嘉禾县| 兴山县| 德保县| 凉城县| 高邮市| 灵寿县| 冀州市| 都江堰市| 富民县| 仪征市| 藁城市| 鸡东县| 三穗县| 乐至县| 富阳市| 凌云县| 门头沟区| 青川县| 石台县| 高雄市| 洛宁县| 蓬溪县| 广宗县| 汪清县| 新宁县| 两当县| 苗栗市| 曲沃县| 正定县| 商南县| 简阳市| 太和县| 全椒县| 图木舒克市| 绵阳市| 闸北区| 肇庆市| 德化县| 广汉市| 芷江| 岳阳市|