方法引用-通过this引用成员方法和类的构造器引用

news/2024/4/27 14:56:48/文章来源:https://www.cnblogs.com/qihaokuan/p/16615501.html

通过this引用成员方法

this代表当前对象 如果需要引用的方法就是当前类中的成员方法 那么可以使用this::成员方法 的格式来使用方法引用

 函数式接口:

public interface Richanle {void buy();
}

测试类:

public class Husband  {//重写父类的成员方法public void buyHouse() {System.out.println("在北京四环內买一套房");}//定义一个方法,参数传递接口public void men(Richanle r){r.buy();}public void show(){/*调用本类的方法*/men(()->{this.buyHouse();});/*使用Lambda表达式优化代码*/men(this::buyHouse);}public static void main(String[] args) {new Husband().show();}
}

 

类的构造器引用

 由于构造器的名称与类名完全一样 并不固定 所以构造器引用使用类名称::new的格式表示

函数接口:

public interface PersonBuilbr {Person buile(String name);
}

测试类:

/*类的构造器(构造方法)引用*/
public class Demo {//定义一个方法 参数传递姓名和PersonBuilder接口 方法中通过姓名创建Person对象public static void printName(String name,PersonBuilbr builbr){Person buile = builbr.buile(name);System.out.println(buile.getName());}public static void main(String[] args) {//调用printName方法 方法的参数PersonBuilder接口是一个函数式接口 可以传递LambdaprintName("迪丽热巴", (String name)->{return new Person(name);});/*使用方法引用优化Lambda表达式构造方法new Person(String nane)已知创建对象已知 new就可以使用Person引用new创建对象*/printName("古力娜扎",Person::new);//通过Person类的带参构造方法,通过传递的姓名创建对象
    }
}

运行结果:

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_2576.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Bundle-less 的思考和实践分享

作者:杨兴元随着 Snowpack、Vite 等利用提倡 no-bundle 的构建工具逐渐兴起,同时现代浏览器对原生 ESM 的普遍支持,Bundle-less 的概念席卷前端圈,那么我们如何理解 Bundle-less?究竟是炒概念还是能够真正地给业界带来收益?下面就来分享一下我对于 Bundle-less 的理解以及…

GitCode+Picgo图床

GitCode图床,使用Gitlab的插件,图片加载速度快GitCode图床 GitCode实际上是使用Gitlab服务搭建的一个代码托管平台,因此我们可以使用【Gitlab】图床插件来将图片上传到Gitcode。而从npm官网上正好可以找到这样的插件:注意:推荐使用第一个插件 picgo-plugin-gitlab-files,…

多功能杆盒子 5G智慧杆网关盒子 控制网关

计讯物联TG473多功能杆专用网关,针对智慧灯杆设计,丰富接口满足多功能杆灯控、摄像头、信息屏、充电桩、传感器等接入联网,支持网口、串口数据、模拟量、信号量采集,支持物联网卡5G/4G蜂窝网络,支持以太网、wifi等多数据传输,丰富协议库强大协议转换能力对接云平台实现多…

delphi 调用编写Word、Execl

使用VBA接口实现。 VBA官方接口: Office Visual Basic for Applications (VBA) 参考 | Microsoft Docs常用办公三件套的接口和其他的软件接口齐全。 打开Word : usesComObj///声明,所有VBA相关的对象都使用Variant实现 wApp,eApp,wordRange:Variant;///实现 trywApp:=GetActi…

AtCoder Beginner Contest 265 D Iroha and Haiku (New ABC Edition)

\(O{(n\log n)}\) 做法 我在考场上只想到此做法,不难想到,可以将三段用二分预处理。 \(xs[i]\)表示从\(a_i\)开始总和为\(P\)的末尾编号,可以用二分处理。 最后 \(O(n)\) 判断即可。 #include <bits/stdc++.h> #define ll long long using namespace std; const ll N=…

延时任务-基于redis zset的完整实现

所谓的延时任务给大家举个例子:你买了一张火车票,必须在30分钟之内付款,否则该订单被自动取消。订单30分钟不付款自动取消,这个任务就是一个延时任务。 我之前已经写过2篇关于延时任务的文章:《完整实现-通过DelayQueue实现延时任务》 《延时任务(二)-基于netty时间轮算…

workbench小技巧——结合paraview

workbench计算完结果后,可以在计算完成的Temperature(或者其他的结果也可以)右键->Export...->STL File将其保存成文.stl格式的文件,并且如果在workbench中是半剖视图,那么生成的.stl格式的文件也是半剖视图。 半剖视图的.stl格式的文件可以在paraview中打开: 这样…

创建一个VUE项目

前期准备 1、安装node,官网安装(自带npm) 2、安装npm国内镜像cnpm:npm install -g cnpm;安装后可能在项目中无法使用,执行cnpm install express -g 3、安装开源前端打包工具webpack:cnpm install webpack -g 4、安装vue-cli脚手架工具:cnpm install vue-cli -g;使用vu…

校园内的汽车

https://www.acwing.com/problem/content/description/1587/思路: 电话记录的模型,先筛选出所有符合要求的记录,之后按照题目要求做即可。 #include <iostream> #include <cstring> #include <algorithm> #include <unordered_map> #include <ve…

如何让discuz论坛下方在线会员不显示在线会员

如何让discuz论坛下方在线会员不显示在线会员-百度经验 https://jingyan.baidu.com/article/4b07be3c6b143848b380f382.html如何让discuz论坛下方在线会员不显示在线会员呢? 后台界面设置,论坛缩略显示在线列表选择是(一般超过500在线会员会自动隐藏的)如下图所示:

Discuz!抱歉,您的IP 地址不在允许范围内办法

Discuz!抱歉,您的IP 地址不在允许范围内办法-百度经验 https://jingyan.baidu.com/article/ce436649394f183773afd305.html今天早上很郁闷呀,打开论坛发现竟然登陆不了,提示以下的问题: Discuz!x3.2 抱歉,您的 IP 地址不在允许范围内,或您的账号被禁用... 这是什么鬼,明…

TCP/UDP

一、定义和对比 TCP/UDP都是是传输层协议,但是两者具有不同的特性,同时也具有不同的应用场景,下面以图表的形式对比分析。 二、使用场景什么时候应该使用TCP?当对网络通讯质量有要求的时候,比如:整个数据要准确无误的传递给对方,这往往用于一些要求可靠的应用,比如HTTP…

项目准备

项目导入 资料连接:https://pan.baidu.com/s/1Xp97dflG_i1a8DyTKJWAjg   提取码:java 选择项目的pom.xml文件导入 项目启动 第一种方式:第二种方式: 启动Maven: 技术选型Web层Servlet:前端控制器html:视图Filter:过滤器BeanUtils:数据封装Jackson:json序列化工具 S…

论文阅读笔记-MapLite 2.0: Online HD Map Inference Using a Prior SD Map

MapLite 2.0:使用先前SD地图的在线高清地图推断MapLite 2.0: Online HD Map Inference Using a Prior SD Map MapLite 2.0:使用先前SD地图的在线高清地图推断 Abstract 部署全自动驾驶汽车一直是工业界和学术界深入研究的主题。然而,这些努力中的大部分都严重依赖于高清 (HD…

Parallels 升级后提示虚拟机网络初始化失败

之前一直没升级,奈何升级 macOS 后,parallels 打不开了,只能尝试去升级,但升级之后的系统打开总是提示网络初始化失败,如下图所示。解决如下方式已解决,注意,尝试之前,先把自己的 parallels 软件给关了。 1、打开资源库的 parallels 打开【访达】,点击顶部【前往】,点…

Centos7中升级python3.10.4版本

****** 先上结果图 ****** (之前是 2.7.5 版本,日志太长没法找到之前的版本截图了) ****** 先上结果图 ******1、下载安装一些依赖包yum install -y wget lrzsz net-tools zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc ma…

Java中时间戳的使用

原文链接 当前时间 import java.sql.Timestamp; //导包Timestamp nowTime = new Timestamp(System.currentTimeMillis()); System.out.println(nowTime);输出: 2022-06-08 11:15:51.014Long型时间戳 Long timeLong = System.currentTimeMillis(); System.out.println("ti…

用栈结构解决佩慈糖果盒问题(JavaScript)

封装的栈操作方法: https://www.cnblogs.com/LIXI-/p/16612874.htmlvar sweetBox = new Stack();sweetBox.push(red);sweetBox.push(yellow);sweetBox.push(red);sweetBox.push(yellow);sweetBox.push(white);sweetBox.push(yellow);sweetBox.push(white);sweetBox.push(yello…

HCIA学习笔记二十:STP生成树

一、环路的影响 1)环路产生• 交换机之间通过多条链路互连时,虽然能够提升网络可靠性,但是同时也带来环路问题。 2)广播风暴二、STP的作用 1)阻塞端口• STP通过阻塞端口来消除环路,并能实现链路备份的作用。 2)阻塞某端口后3)链路备份三、STP生成树基本计算过程 1)选…

taro小程序日期选择器

taro-swiper-weektaro-swiper-week 是一个基于 taro 的日期选择器控件。 可以用在h5、微信小程序等众多平台!简体中文 | English🔨 使用 先安装 npm install taro-swiper-week再引入页面 import SwiperWeek from "taro-swiper-week"; import "taro-swiper-we…