Lambda方法引用
package com.sea.bean; @FunctionalInterface interface ClickListenner<T> { void onclick(T a); } class Receiver { public void doclick(String msg) { System.out.println(msg); } } class Provider { private ClickListenner<String> listenner; public Provider(ClickListenner<String> listenner) { this.listenner = listenner; } public void sendMessage() { listenner.onclick("click..."); } } public class TestA { public static void main(String[] args) { { //原始写法 Receiver receiver = new Receiver(); Provider provider = new Provider(new ClickListenner<String>() { @Override public void onclick(String msg) { receiver.doclick(msg); } }); provider.sendMessage(); } { // Lambda下的简写 Receiver receiver = new Receiver(); Provider provider = new Provider((msg) -> { receiver.doclick(msg); }); provider.sendMessage(); } { // Lambda下的极简写法 Receiver receiver = new Receiver(); Provider provider = new Provider(receiver::doclick); provider.sendMessage(); } } }
疯狂的妞妞 :每一天,做什么都好,不要什么都不做!