java匿名类的用法
生活随笔
收集整理的這篇文章主要介紹了
java匿名类的用法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1.Java允許我們直接使用一個類的子類的類體創建一個子類對象
2.有時候創建子類對象時,除了使用父類的構造方法外還有類體,這個類體被認為是一個子類去掉類聲明后的類體,稱作匿名類。
3.匿名類是一個子類,它一定會繼承某個類。匿名類沒有類名,它們不能被引用,不能有匿名類聲明對象,只能在創建時用New語句和父類的構造方法創建一個對象。
4.匿名類一定是內部類,匿名類一定可以訪問外嵌類的成員變量和方法。
如果A是一個類,那么用A類的一個子類(匿名類)創建的對象如下
例如下列代碼
abstract class Speak {//抽象類public abstract void Say();//抽象方法 } class Student {void f(Speak sp) {sp.Say(); } } public class Example6_2 {public static void main(String args[]) {Speak speak=new Speak() { //此處speak是上轉型對象public void Say() { System.out.println("大家好");//重寫類Speak的Say方法}//匿名類};speak.Say(); Student st=new Student();st.f(new Speak() { public void Say() { System.out.println("你們好!");}});} }上例中的匿名類等價于
class subSpeak extends Speak{//要繼承Speak類public void Say() { System.out.println("大家好");//重寫類Speak的Say方法} }subSpeak sub=new subSpeak();//sub就是Speak類的子類對象當子類的類體比較簡單時,可考慮用匿名類,此外匿名類一定是內部類,匿名類一定可以訪問外嵌類的成員變量和方法。
總結
以上是生活随笔為你收集整理的java匿名类的用法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java监听器的用法(一):内部类监听器
- 下一篇: java监听器用法(二):窗口监听器