昨天晚上看json解析方式時突然看到關於匿名內部類,自己想了下發現竟然從來沒有認真考慮過匿名內部類為什麼叫這個,然後去網上查了下好像也沒看出什麼頭緒來,早上上班看到一篇文章一下子就明白了,所以晚上回來自己試試.
runnable runnable = new runnable()
};
new view.onclicklistener()
};
上面是我們平時經常用的方法,它們就是典型的匿名內部類,但是我沒從這裡看出來它們什麼類沒有名字,不過知道new 乙個介面肯定是不合理的,下面就將匿名還原:
abstract class
person
class
child
extends
person
}public
class
demo
}
可以看到,我們用child繼承了person類,然後實現了child的例項,將其向上轉型為person抽象類的引用,而child類就是我們在匿名內部類中隱藏的類,寫成匿名類:
abstract class
person
public
class
demo
};p.eat
(); }
}
是不是一下子就清晰了,反正我是這樣的,至於匿名內部類特點啥的就不說了,我也只能記住大概,寫出來太丟人了 java 中的匿名內部類
一 基本概況 匿名內部類 就是內部類的簡化寫法 前提 存在乙個介面或者是乙個類 這裡的類可以是抽象的也可以是具體的類 格式 new 類名或者介面名 匿名內部類的本質 是乙個匿名物件或者是實現了該介面的的子類的匿名物件,inte ce inter class outer public void sho...
java中的匿名內部類
匿名內部類這一語法適用於建立一次性使用的類。語法格式為 new 實現介面 父類構造器 實參列表 從這一定義可以看出,使用匿名內部類需要注意兩點 而最常見的匿名內部類的應用場合為 需要通過實現介面來建立匿名內部類。舉個例子 inte ce productinformationlist public c...
JAVA匿名內部類
abstract class base public abstract void f public class anonymousconstructor public void f public static void main string args 在此例中,不要求變數i 一定是final 的。...