匿名內部類
匿名內部類
1、
匿名內部類即沒有名字的內部類
2、正因為沒有名字,所以匿名內部類只能使用一次,它通常用來簡化**編寫
3、但使用匿名內部類還有個前提條件:必須繼承乙個父類或實現乙個介面
示例1:
不使用匿名內部類來實現抽象方法
abstract class people
class child extends people }
public class demo
}
可以看到,child類繼承了
person
類,然後實現了
child
的乙個例項,將其向上轉型為
person
類的引用。
示例2:
匿名內部類的基本實現
public class demo
};p.eat(); }}
abstract class people
可以看到,我們直接將抽象類person中的方法在大括號中實現,這樣便可以省略乙個類的書寫,並且,匿名內部類還能用於介面上。
示例3:
在介面上使用匿名內部類
public class demo
};p.eat(); }}
inte***ce people
從上面的例子可以看出,只要乙個類是抽象的或是乙個介面,那麼其子類中的方法都可以使用匿名內部類來實現,最常用的情況就是在多執行緒的實現上,因為要實現多執行緒必須繼承thread類或是繼承
runnable
介面。示例4:
thread類的匿名內部類的實現
public class demo
};t.start();
}}
示例5:
runnable介面的匿名內部類實現
public class demo
};thread t = new thread(r);
t.start();
}}
JAVA匿名內部類
abstract class base public abstract void f public class anonymousconstructor public void f public static void main string args 在此例中,不要求變數i 一定是final 的。...
Java 匿名內部類
內部類定義在區域性時,1,不可以被成員修飾符修飾 2,可以直接訪問外部類中的成員,因為還持有外部類中的引用。但是不可以訪問它所在的區域性中的變數。只能訪問被final修飾的區域性變數。非靜態,沒物件,不執行 class outer new inner function class innerclas...
Java匿名內部類
匿名內部類的全稱是anonymous inner type。注意,這裡的 類 指代的是 type 而不是class這個關鍵字。抽象類和介面可以使用匿名內部類。這裡是乙個小的匿名內部類的demo public class q class a abstract class b解析 a類中定義了乙個成員方...