1. 程式人生 > >java 介面不是不能new嗎?- java:使用匿名類直接new介面

java 介面不是不能new嗎?- java:使用匿名類直接new介面

java 介面不是不能new嗎?

  • 這叫匿名內部類,你後面的大括號實際上就是一個Runnable的實現類了 只不過這個類名和介面名稱一樣,所以是匿名的,別人地方也用不了
  • 這種寫法相當於先建立了一個匿名類,實現了這個介面,然後new一個這個匿名類的物件
    所以可以使用.
  • 這個是等於建立了一個匿名內部類,這個類實現了該介面,並實現了該介面的run方法。
    與你定義一個類實現這個介面是等效的。
    不過這個就是沒有類名。而且無法在其他地方new出物件。
  • java:使用匿名類直接new介面
  • java中的匿名類有一個倍兒神奇的用法,見下面程式碼示例:package com.dtqn.action;  public interface interFace {    void writeClass();}實現類package com.dtqn.action;  public class Program {      public static void main(String[] args) {        // TODO Auto-generated method stub        interFace say = new interFace(){              @Override            public void writeClass() {                // TODO Auto-generated method stub                            }                    };    }  }new介面用於簡化程式碼用。。。。。。。。。