1. 程式人生 > >【java基礎】介面是否能有實現類?

【java基礎】介面是否能有實現類?

介面是否能有實現方法
我的回答: 當然可以

java8以後就允許介面有實現方法:

  • default修飾的方法
  • static修飾的方法

/**
 * 能用lambda的情況,接口裡面只有一個未實現的方法
 * 保證函式式介面@FunctionalInterface,如果有兩個方法就會報錯
 */
public class LambdaDemo {

    @FunctionalInterface
    interface Age {
        int add(int x, int y);
        //可以隨便有幾個default
        default int add2(int x, int y){
            return x + y + 2;
        };
        //static方法也可以有方法體,可以隨便寫幾個
        public static int add3(int i, int y) {
            return i + y;
        }
    }

    public static void main(String[] args) {
        Age age = (int x , int y)-> {
            return x + y;
        };

        System.out.println("" + age.add(2,3));
        System.out.println("Age" + Age.add3(3,4));
    }
}

可以關注我的公眾號一起學習

相關推薦

java基礎介面是否實現

介面是否能有實現方法 我的回答: 當然可以 java8以後就允許介面有實現方法: default修飾的方法 static修飾的方法 /** * 能用lambda的情況,接口裡面只有一個未實現的方法 * 保證函式式介面@FunctionalInterface,如果有兩個方法就會報錯 */ publi

java基礎collection介面中toArray()的使用方法

Collection介面中有兩種toArray()方法 Object[] toArray()           Return an Array Containing all of the elements in this collection. <T> T[]

Java基礎包、介面、常量、方法、變數的命名規則

1、包(package)命名規則: 使用公司域名倒寫作為包名,如公司域名 www.weibin.com ,則包名為com.weibin.www 或com.weibin.(作用的介紹),方便識別軟體、類

Java基礎RTTI與反射之Java

start auth try dword star sse from tac sed 1 ; Example assembly language program -- 2 ; Author: Karllen 3 ; Date: revised 05/2014

轉載:Java基礎InputStream 、 InputStreamReader和BufferedReader

gen 結果 取字符 sys try eight string font buffer 來源:http://blog.csdn.net/zgljl2012/article/details/47267609 在Java中,上述三個類經常用於處理數據流,下面介紹一下三個類的

Java基礎Java常見的異常

java exception Java常見的異常1. java.lang.NullPointerException (空指針異常)調用了未經初始化的對象或者是不存在的對象2. java.lang.ClassNotFoundException 指定的類不存在3. java.lang.NumberForm

Java基礎Java基本數據型與位運算

右移 數據 bits 類型 span 網上 height 使用 常數 1.賦值運算符 賦值使用操作符“=”。它的意思是“取右邊的值(即右值),把它復制給左邊(即左值)”。右值可以是任何 常數、變量或者表達式 (只要它能 生成

Java基礎Java運算符優先級

() logs 分享 body rowspan 單元 ima idt string 序列號 符號 名稱 結合性(與操作數) 目數 說明 1 . 點 從左到右

java基礎重寫equals()方法的同時要重寫hashCode()方法

而且 通過 才會 默認 什麽 需要 現在 ash 字段 1、 為什麽要重寫equals方法? 因為Object的equal方法默認是兩個對象的引用的比較,意思就是指向同一內存,地址則相等,否則不相等;如果你現在需要利用對象裏面字段的值來判斷是否相等,則重寫equals方法。

Java基礎基礎精華總結

  一:java概述(快速瀏覽): 1991 年Sun公司的James Gosling等人開始開發名稱為 Oak 的語言,希望用於控制嵌入在有線電視交換盒、PDA等的微處理器; 1994年將Oak語言更名為Java;   Java的三種技術架構: JAVA

Java基礎註解(Annotation)

  Annotation,程式碼裡的特殊標記,在編譯、類載入、執行時被讀取,並執行相應的處理。 使用註解,在不改變原有邏輯的情況下,在原始檔中嵌入一些補充資訊。 Annotation提供了一種為程式元素設定元資料的方法。 Ann

Java基礎-多重For迴圈的兩種跳出方式

先來小段Demo,自己跑一下就能看到效果了: public static void main(String[] args) { List<String> listA = new ArrayList<String>(); List<String> lis

Java基礎程式碼塊,構造程式碼塊,靜態程式碼塊

程式碼塊 public class Demo { public static void main(String[] args){ { int a = 1; System.out.println(a); }

Java基礎static關鍵字

通過static宣告的屬性或者方法可以通過類名稱直接呼叫 static方法只能呼叫static屬性或者方法,不能呼叫非static屬性或者方法 非static方法則不受限,可以任意呼叫static宣告的屬性或者方法 注意:main方法本身就是一個static方法 示例1:static方法呼叫

Java基礎Java 基本資料型別

Java 的兩大資料型別: 內建資料型別 Java語言提供了八種基本型別。六種數字型別(四個整數型,兩個浮點型),一種字元型別,還有一種布林型。 byte: byte 資料型別是8位、有符號的,以二進位制補碼錶示的整數; 最小值是 -1

Java基礎String,StringBuffer,StringBuilder之間的區別

對於這三個類,先總體來理解一下: 對String,你建立了一個String,你能通過set方法改變它的長度length嗎?顯然是不行的! 但 StringBuffer 可以! String 字串常量 StringBuffer 字串變數(執行緒安全) StringBu

java基礎ConcurrentHashMap實現原理及原始碼分析

  ConcurrentHashMap是Java併發包中提供的一個執行緒安全且高效的HashMap實現(若對HashMap的實現原理還不甚瞭解,可參考我的另一篇文章),ConcurrentHashMap在併發程式設計的場景中使用頻率非常之高,本文就來分析下Concurre

Java基礎Hashmap

     hashMap實現Map介面,基於hashing原理,以鍵值對形式儲存,允許null鍵/值,非同步的集合型別;      hashmap的底層儲存結構是基於陣列和連結串列的。 一、put方法 public Object put(Object key,Obj

Java基礎int和Integer

Java中存在8種基本資料型別:byte(8位)、short(16位)、int(32位)、long(64位)、float(32位)、double(64位)、char(16位,0x0000~0xffff)、boolean(true/false) java中不存在無符號數字型別,

Java 基礎15 Java 反射機制

反射 為什麼使用反射 需求:我公司定義了一組介面,然後第三方公司按照我公司的介面 實現了一套功能,然後交給我們,但是我們公司的專案已經結束,如何實現動態載入第三方公司提供的功能。 什麼是反射 反射就是把 Java 類中的各種成分對映成一個個的 Java 物件。例