广州北大青鸟计算机职业培训学校
互联网技术培训、软件技术培训、大数据培训、云计算培训、数据分析培训信息网
当前位置:网站首页 > 软件教程 > Java技术 > 正文

惠州Java超类型实例方法引用是什么?_北大青鸟IT学校

作者:邓华发布时间:2021-06-01分类:Java技术浏览:920


导读:Java超类型实例方法引用是什么?相信学过Java的同学都遇到过这个问题,那么答案是什么呢?接下来一起来看看惠州北大青鸟老师是怎么回答的。

Java超类型实例方法引用是什么?相信学过Java的同学都遇到过这个问题,那么答案是什么呢?接下来一起来看看惠州北大青鸟老师是怎么回答的。

关键字 super 仅在实例上下文中使用,引用覆盖的方法。

我们可以用下面的语法来创建是指在父类型的实例方法的方法引用。

ClassName.super::instanceMethod

下面的代码定义了一个称为 ParentUtil 的父类。在 ParentUtil 中有一个名为 append 的方法,它将两个String值附加在一起。

然后创建一个名为 Util 的子类并扩展 ParentUtil 。

在 Util 类中,覆盖 append 方法。

在Util的构造函数中,我们创建两个lambda表达式,一个是使用Util的append方法,另一个是使用ParentUtil类的append方法。

我们使用 this::append 引用当前类,同时使用 Util.super::append 从父类引用方法。

import java.util.function.BiFunction;public class Main{  public static void main(String[] argv){    new Util();
 }
}class Util extends ParentUtil{  
 public Util(){
   BiFunction<String,  String,String> strFunc = this::append;
   String name ="www.w3cschool.cn";
   String s=  strFunc.apply(name," hi");
   System.out.println(s);
   
   strFunc = Util.super::append;
   name ="www.w3cschool.cn";
   s=  strFunc.apply(name," Java Lambda Tutorial");
   System.out.println(s);

 }
 
 @Override  public String append(String s1,String s2){
   System.out.println("child append");    return s1+s2;
 }  
}class ParentUtil{  public String append(String s1,String s2){
   System.out.println("parent append");    return s1+s2;
 }  
}

上面的代码生成以下结果。

child append 

w 3 c s chppl . cn hi

parent append w 3 s ch oo l . cn Java Lambda Tutorial

想了解更多关于Java的资讯,可以来惠州北大青鸟新方舟校区了解一下。

Java11.png

Java

标签:惠州计算机JAVA软件开发惠州计算机Java软件开发惠州计算机JAVA培训惠州计算机JAVA软件开发学校惠州计算机Java软件开发培训JAVAJava软件开发北大青鸟IT计算机学校北大青鸟IT软件学校北大青鸟IT学校


Java技术排行
标签列表
网站分类
文章归档
最近发表