亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

怎樣才算是一個內部類

怎樣才算是一個內部類

慕碼人8056858 2019-02-22 04:36:06
請問下怎樣才算是一個內部類,最近在看android的Handler方面的東西,有點被搞暈了,一般情況下的內部類我是明白的,但是為什么Handler也算是Activity的一個內部類。 public class MainActivity extends Activity{ private Handler mHandler = new Handler() { @Override public void handleMessage(Message msg) { super.handleMessage(msg); } }; } Handler并已經是一個被定義好的類,只不過在使用的時候一般回去重寫其中的handleMessage方法,這樣就算是一個內部類了嗎?這里主要是想請問下: 內部類的定義是什么? 編譯器是怎么去判斷一個類是內部類的
查看完整描述

2 回答

?
慕運維8079593

TA貢獻1876條經驗 獲得超5個贊

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

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

A nested class is a member of its enclosing class.

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

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

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

查看完整回答
反對 回復 2019-03-01
?
互換的青春

TA貢獻1797條經驗 獲得超6個贊

這個叫匿名內部類

查看完整回答
反對 回復 2019-03-01
  • 2 回答
  • 0 關注
  • 518 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號