javaSE 匿名內部類。定義匿名類的同時完成例項化同時完成方法呼叫
阿新 • • 發佈:2019-01-23
Test.java:
Smoking.java(介面、父類):package cn.xxx.demo; public class Test { public static void main(String[] args) { //使用匿名內部類 (定義在方法中就是內部類) /* * 定義實現類,重寫方法,建立實現類物件,一步搞定 * 格式: * new 介面或者父類(){ // 通過{}完成匿名類的定義 * 重寫抽象方法 * }; // 可以在}後直接呼叫匿名物件的方法。 * 從 new開始,到分號結束 * 建立了介面的實現類的物件 */ new Smoking(){ // 例項化匿名內部類的同時實現介面的抽象方法,同時呼叫匿名物件的方法。 public void smoking(){ // 同時實現介面的抽象方法(相當於定義匿名實現類) System.out.println("人在吸菸"); } }.smoking(); // 同時呼叫物件方法。 } }
package cn.xxx.demo; public interface Smoking { public abstract void smoking(); } /* * 實現類,實現介面 重寫介面抽象方法,建立實現類物件 * class XXX implements Smoking{ * public void smoking(){ * * } * } * XXX x = new XXX(); * x.smoking(); * Smoking s = new XXX(); * s.smoking(); * * 匿名內部類,簡化問題: 定義實現類,重寫方法,建立實現類物件,合為一步完成 */