我可以使用lambdas覆盖JDK8中的功能接口的toString方法 [英] Can I override toString method of functional interface in JDK8 using lambdas

查看:199
本文介绍了我可以使用lambdas覆盖JDK8中的功能接口的toString方法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我可以覆盖功能界面的toString方法吗?
或改述。是否有优雅的方法来更改实现功能接口的匿名内部类并使用lambdas覆盖toString方法?
我可以在JDK8中创建lamba表达式时覆盖toString。

Can I override toString method of functional interface? Or rephrase. Is there elegant way to change anonymous inner class that implements functional interface and overrides toString method with lambdas? Can I override toString when I create lamba expression in JDK8.

interface Iface {
    void do();
}

main() { 
    Iface iface = () -> /*do something*/
    System.out.println(iface); // I would like to see anything useful in output
}

我可以覆盖toString吗? iface?

Can I override toString for iface?

推荐答案

不,lambda表达式用于表示一个方法接口,就好像它们只是函数一样。它是用Java(OOP语言)实现的函数式语言元素。

No, lambda expressions are used to express one method interfaces as if they are just functions. It's an element of functional languages that was implemented in Java (an OOP language).

要覆盖toString,必须在类中实现接口。

To override toString, you must implement the interface in a class.

这篇关于我可以使用lambdas覆盖JDK8中的功能接口的toString方法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆