Java可以new一個接口嗎?


先說結論:接口、抽象類是不可以被new的。

但是今天在寫外部比較器Comparator時,我發現有這種寫法

// 使用comparator比較器接口
    Comparator comparator = new Comparator(){
        public int compare(Object o1, Object o2) {
            if (o1 instanceof orderNode && o2 instanceof orderNode) {
                orderNode a1 = (orderNode) o1;
                orderNode a2 = (orderNode) o2;
                return a1.val - a2.val;
            }
            return 0;
        }
    };

這不就是new一個接口了嗎?

但是注意,后面還有大括號,這相當於一個實現了接口的匿名類,我們需要在其內部{}內把接口的方法實現。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM