匿名內部類

2021-06-21 20:42:16 字數 661 閱讀 3722

abstract class father()

public class test  //

這裡就是有個匿名內部類

}一般來說,new 乙個物件時小括號後應該是分號,也就是new出物件該語句就結束了。

但是出現匿名內部類就不一樣,小括號後跟的是大括號,大括號中是該new 出物件的具體的實現方法。

因為我們知道,乙個抽象類是不能直接

new

的,必須先有實現類了我們才能

new出它的實現類。

上面的偽**就是表示

new

的是father

的實現類,這個實現類是個匿名內部類。

其實拆分上面的匿名內部類可為

class sonone extends father

public class test

匿名內部類不能有構造方法。  

·匿名內部類不能定義任何靜態成員、方法和類。  

·匿名內部類不能是public,protected,private,static。  

·只能建立匿名內部類的乙個例項。

·乙個匿名內部類一定是在new的後面,用其隱含實現乙個介面或實現乙個類。  

·因匿名內部類為區域性內部類,所以區域性內部類的所有限制都對其生效。 ·

內部類只能訪問外部類的靜態變數或靜態方法。

內部類,匿名內部類

內部類 概念 自己想到的 內部類是一種可以直接訪問外部類的一類事物 內部類訪問外部類中的成員,包括私有。之所以可以訪問外部類的成員,是因為內部類持有了外部類的乙個引用,格式為 outer.this.x 外部類訪問內部類成員,需要宣告內部類的物件。其他類訪問內部類方法 當內部類處在成員變數的位置時,就...

內部類 匿名內部類

把類定義在其他類的內部,這個類就叫內部類。內部類分為 成員內部類 區域性內部類。內部類訪問特點 內部類可以直接訪問外部類的成員,包括私有。外部類訪問內部類的成員,必須建立物件。區域性內部類是定義在乙個方法或者乙個作用域裡面的類。public class outer 在區域性位置建立內部類物件,調內部...

內部類 匿名內部類

package org.lgy.study.innerclass public class anonymoustest public static void main string args public string getname public double getprice inte ce p...