JDK1.8(方法引用)

版权声明:版权声明:本文为博主原创文章,未经博主允许不得转载,违者必究。 https://blog.csdn.net/Cricket_7/article/details/89764224

【1】方法引用是什么?

  • 是lambda表达式的一个简化写法. 方法引用语法:左边是容器(可以是类名,实例名),中间是" :: ",右边是相应的方法名。

ObjectReference::methodName

【2】一般方法的引用格式:

如果是静态方法,则是ClassName::methodName。如 Object ::equals

如果是实例方法,则是Instance::methodName。

Object obj=newObject();

obj::equals;

构造函数.则是ClassName::new

【3】使用案例:

  • 创建接口和实现类

  

class MyButton {

        public void setOnClickListener(MyListener listener){

        }

    }

    interface MyListener{

        boolean onClick(String s,int i);

    }
  • 创建一个实现方法

// 被引用的方法,参数和返回值必须和接口中抽象方法一致

public static boolean aa(String s, int i){

    return false;

}
  • 调用,MainActivity是当前类   。 aa是类中的方法

// 方法引用,前提是能使用lambda表达式

myButton.setOnClickListener(MainActivity::aa);

猜你喜欢

转载自blog.csdn.net/Cricket_7/article/details/89764224