日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java匿名类的用法

發布時間:2025/3/20 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java匿名类的用法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.Java允許我們直接使用一個類的子類的類體創建一個子類對象

2.有時候創建子類對象時,除了使用父類的構造方法外還有類體,這個類體被認為是一個子類去掉類聲明后的類體,稱作匿名類。

3.匿名類是一個子類,它一定會繼承某個類。匿名類沒有類名,它們不能被引用,不能有匿名類聲明對象,只能在創建時用New語句和父類的構造方法創建一個對象。

4.匿名類一定是內部類,匿名類一定可以訪問外嵌類的成員變量和方法。
如果A是一個類,那么用A類的一個子類(匿名類)創建的對象如下

new 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匿名类的用法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。