首页 > 其他分享 >方法引用_通过对象名引用成员方法

方法引用_通过对象名引用成员方法

时间:2022-09-26 16:26:37浏览次数:47  
标签:对象 方法 成员 MethodRerObject 引用 printUpperCaseString public

/**
 * 定义一个打印的函数式接口
 */
@FunctionalInterface
public interface Printable {
    //定义字符串的抽象方法
    void print(String s);
}
public class MethodRerObject {
    //定义一个成员方法,传递字符串,把字符串按照大写输出
    public void printUpperCaseString(String str){
        System.out.println(str.toUpperCase());
    }
}
/**
 *      通过对象名引用成员方法
 *     使用前提是对象名是已经存在的,成员方法也是已经存在
 *     就可以使用对象名来引用成员方法
 */
public class Demo01ObjectMethodReference {
    //定义一个方法,方法的参数传递Printable接口
    public static void printString(Printable p){
        p.print("Hello");
    }

    public static void main(String[] args) {
        //调用printString方法,方法的参数Printable是一个函数式接口,所以可以传递Lambda表达式
        printString((s) -> {
            //创建MethodRerObject对象
            MethodRerObject obj = new MethodRerObject();
            //调用MethodRerObject对象中的成员方法printUpperCaseString,把字符串按照大写输出
            obj.printUpperCaseString(s);
        });
        /**
         *              使用方法引用优化Lambda
         *             对象是已经存在的MethodRerObject
         *             成员方法也是已经存在的printUpperCaseString
         *             所以我们可以使用对象名引用成员方法
         */
        //创建MethodRerObject对象
        MethodRerObject obj = new MethodRerObject();
        printString(obj::printUpperCaseString);
    }
}

 

标签:对象,方法,成员,MethodRerObject,引用,printUpperCaseString,public
From: https://www.cnblogs.com/xuche/p/16731310.html

相关文章

  • 指针的引用(附加地址传递)
    #图解轻松看懂「指针的引用*&」-知乎(zhihu.com)注意“举个栗子”中的第一个代码:(以一个更为简单的例子为例)情况1:1voidswap(int*p1,int*p2){23int......
  • 方法引用基本介绍
    在使用Lambda表达式的时候,我们实际上传递进去的代码就是一种解决方案:拿什么参数做什么操作。那么考虑一种情况:如果我们在Lambda中所指定的操作方案,已经有地方存在相同方案,......
  • 【Vim】NERDTree目录导航与操作插件的使用方法
    【NERDTree目录导航】NERDTree中我们可以使用k/j上下移动键在文件/文件夹之间移动,但是当项目文件/文件夹很多时候,这种方式就显得很笨拙了。NERDTree提供了如下所示的快捷......
  • Stream流中的常用方法_concat
    组合:concat如果有两个流,希望合并成为一个流,那么可以使用Stream 接口的静态方法concat:static<T>Stream<T>concat(Stream<?extendsT>a,Stream<?extendsT>b)......
  • Stream流中的常用方法_map 和Stream流中的count方法
    映射:map:如果需要将流中的元素映射到另一个流中,可以使用map方法<R>Stream<R>map(Function<?superT,?extendsR>mapper);该接口需要一个Function函数式接口参数,可......
  • 直播平台软件开发,audriod studio 两种弹窗方法
    直播平台软件开发,audriodstudio两种弹窗方法一、根据日期判断软件是否超期,超期弹窗,按钮退出程序,不超期继续运行。方法:调用系统当前时期与设定日期进行比较(compareto),如......
  • 表单序列化得常用方法
    方法1:serialize():就是把表单信息序列化成一个字符串(认为最常用的方法)<html><head><scripttype="text/javascript"src="/jquery/jquery.js"></script><scriptty......
  • Stream流中的常用方法_forEach和Stream流中的filter方法
    流模型的操作很丰富,这里介绍一些常用的API。这些方法可以被分成两种:延迟方法:返回值类型仍然是Stream接口自身类型的方法,因此支持链式调用。(除了终结方法外,其余方法均为延......
  • 内网ip查询的两种方法
    https://product.pconline.com.cn/itbk/software/dnyw/1707/9656024.html1、通过命令行窗口获取内网IP地址1.打开命令行窗口在开始菜单中使用搜索功能搜索......
  • js红宝书学习笔记(一)引用类型
    一.引用类型  ECMAScript中,引用类型是一种数据结构称之为对象定义,,引用对象不同于传统面向对象语言所支持的类和接口等基本结构 创建Object实例的两种方式:new操......