只要能獲取到結果,誰去做的,怎麼做的都不重要,重視的是結果,不重視過程。
一些引數 乙個箭頭 一段**
(引數型別 引數名稱)->
(引數列表)->;
使用lambda表示式,實現多執行緒
new thread(()->).start();
()=run的()有引數的話就在裡面寫,沒有就空著,多個引數用,分開
->把括號引數傳到中括號語句來
{}重寫介面的方法體
//省略格式
new thread(()->syso).start();
lambda省略格式:
可推導可省略
可省略內容:
1.(引數列表):括號中引數列表的資料型別,可以省略不寫
2.(引數列表):括號中的引數如果只有乙個,那麼型別和()都可以省略
3.:如果{}中的**只有一行,無論是否有返回值,都可以省略({},return,分號 )但必須一起省略
arrays.sort(arr,(person o1, person o2)->);
//省略版
arrays.sort(arr,(o1, o2) -> o1.getage()-o2.getage());
cal(100,200,(int a,int b)->);
//省略版
cal(200,300,(a,b)->a+b);
1.lambda必須具有介面,且要求介面中有且僅有乙個抽象方法
無論是內建的runnable comparator介面還是自定義介面,只要有當介面中的抽象方法存在且唯一時,才可以使用
2.必須具有上下文推斷
也就是方法的引數或區域性變數型別必須為lambda對應的介面型別,才能使用lambda作為該介面的例項。
備註:有且僅有乙個抽象方法的介面,稱為「函式式介面」。
做一件事情,找乙個能解決這個事情的物件,呼叫物件的方法,完成事情。
使用匿名內部類,實現多執行緒程式
runnabble r=new runnable();
new thread®.start();
更加簡化
new thread(new runnable()).start();
為了呼叫不得不建立類。
匿名內部類
好處可以幫我們省去實現類的定義,弊端它的語法太複雜
方法自己呼叫自己
遞迴的分類:直接遞迴和間接遞迴
直接遞迴為方法自身呼叫自己
間接遞迴可以a呼叫b,b呼叫c,c方法呼叫a方法。
注意: 遞迴一定要有條件限定,保證地遞迴能夠停止下來,否則發生棧記憶體溢位 遞迴雖有限定條件,但次數不能太多,否則也會發生溢位使用前提:構造方法,禁止遞迴
當呼叫方法的時候,方法主體不變,每次呼叫方法的引數不同,可以使用遞迴
物件導向學習筆記
新建乙個子類繼承父類時,會先找到父類的位址,在其之後增加子類的獨有元素。所有執行時先執行父類的建構函式,按照位址順序,執行子類的建構函式,層級越低,建構函式執行順序越靠後。這是子類的建構函式。這是父類的建構函式。這是執行結果。顯然程式是先執行了父類的建構函式,再執行子類的建構函式。在子類有如下屬性 ...
js物件導向學習筆記之四(Date 物件
日期字串轉時間戳 var date 2015 03 18 date new date date.parse date.replace g,date date.gettime document.write date var date new date 返回當前的時間物件 getdate 日 從 dat...
PHP學習筆記 物件導向
類的結構 class classname var attribute 新增屬性 function operation 宣告函式 建構函式 construct 析構函式 destruct 使用類的屬性 在乙個類中,可以訪問乙個特殊的指標 this。eg this attribute。在類的外部直接訪問...