<delect id="sj01t"></delect>
  1. <em id="sj01t"><label id="sj01t"></label></em>
  2. <div id="sj01t"></div>
    1. <em id="sj01t"></em>

            <div id="sj01t"></div>

            Java中的匿名內部類的小結

            時間:2025-08-10 03:15:37 java語言

            Java中的匿名內部類的小結

              java內部類分為: 成員內部類、靜態嵌套類、方法內部類、匿名內部類 。

              在java的世界里,提供了匿名內部類語法,用于幫助大家簡化代碼,本文簡要從接口,抽象類以及常規類以代碼的形式描述其常用模式。

              1. 接口模式

              public interface IWriter {void write();}public static void main(String[] args) {IWriter writer = new IWriter() {@Overridepublic void write() {System.out.println("IWriter write...");}};writer.write();}

              2.抽象類

              public abstract class AbstractWriter {public abstract void write();}public static void main(String[] args) {AbstractWriter abstractWriter = new AbstractWriter() {@Overridepublic void write() {System.out.println("AbstractWriter write...");}};abstractWriter.write();}

              3.常規類

              public class TextWriter implements IWriter {@Overridepublic void write() {System.out.print("text writer..");}}public static void main(String[] args) {TextWriter textWriter = new TextWriter() {@Overridepublic void write() {System.out.println("TextWriter 2 write...");}};textWriter.write();}

              4.在線程中使用

              public static void main(String[] args) {Thread thread = new Thread() {@Overridepublic void run() {new IWriter() {@Overridepublic void write() {System.out.println("IWriter thread write...");}}.write();}};thread.run();}

              5.結語

              綜上可以看出,其實不管是接口中,抽象類,還是常規類派生出來的匿名內部類,其用法都是一樣的。之所以說這個是一個語法糖,其本質是編譯器在編譯的時候,將匿名內部類單獨編譯成不多個不同的class,這個和單獨寫實現類后再調用其實本質是一樣,具體可以參見編譯后生成目錄.如下截圖所示:

            【Java中的匿名內部類的小結】相關文章:

            Java語言的內部類02-03

            講解Java中如何構造內部類對象及訪問對象03-05

            Java內部類詳解及實例分析12-15

            Java的內部類與類的加載器09-22

            Java中數組的特性07-12

            JAVA中If語句的使用02-22

            java中反射機制07-19

            JAVA中的if語句的使用10-15

            Java中的繼承與組合01-28

            <delect id="sj01t"></delect>
            1. <em id="sj01t"><label id="sj01t"></label></em>
            2. <div id="sj01t"></div>
              1. <em id="sj01t"></em>

                      <div id="sj01t"></div>
                      黄色视频在线观看