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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

java基础之匿名内部类

發布時間:2023/11/30 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java基础之匿名内部类 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

內部類:
  概述: 類里邊還有一個類, 里邊那個類叫內部類, 外邊那個類叫外部類.
 

分類:
  成員內部類: 定義在成員位置的內部類.
  局部內部類: 定義在局部位置的內部類.

格式:
  new 類名或者接口名(){
    //重寫類或者接口中 所有的 抽象方法;
  };

本質:
  就是一個繼承了類或者實現了接口的 匿名的子類對象.?匿名內部類不是類, 而是子類對象.


匿名內部類的實際應用:
  1) 當對 對象方法(成員方法) 僅調用一次的時候.
  2) 可以作為方法的實參進行傳遞.

建議:
  當接口中或者抽象類中的 抽象方法僅有一個的時候, 就可以 考慮使用匿名內部類.

?

代碼說明:

public class DemoClass { //外部類 String name; //成員變量class Inner1 { //成員內部類 }//成員方法public void show() {int num = 10; //局部變量, 基本類型 Object obj = new Object(); //局部變量, 引用類型//局部內部類. 局部變量, 引用類型class Inner2{}} }

?

應用舉例:

public static void main(String[] args) { // 對, Jumpping#jump(); 調三次. //1) 當對 對象方法(成員方法) 僅調用一次的時候. Jumping jm = new Jumping() { //多態 @Override public void jump() { System.out.println("我會跳"); } }; jm.jump(); jm.jump(); jm.jump(); //2) 可以作為方法的實參進行傳遞. show(new Jumping() { @Override public void jump() { System.out.println("我會跳, 可以作為方法的實參進行傳遞"); } }); } public static void show(Jumping jm) { jm.jump(); } public interface Jumping {final public static int num = 10;public abstract void jump(); }

?

public static void main(String[] args) { /* * 通過匿名內部類實現. * new 類名或者接口名(){ //重寫類或者接口中 所有的 抽象方法; }; */ new Animal() { public void eat() { System.out.println("我是匿名內部類的方式實現的, 貓吃魚"); } }.eat(); } /*** 抽象類: Animal* @author**/ public abstract class Animal {public abstract void eat(); }

轉載于:https://www.cnblogs.com/blazeZzz/p/9153747.html

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的java基础之匿名内部类的全部內容,希望文章能夠幫你解決所遇到的問題。

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